欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Spring總結(jié)(必看篇)

 更新時(shí)間:2017年08月18日 08:18:29   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇關(guān)于Spring總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

Spring引入

傳統(tǒng)的基于mvc的項(xiàng)目框架結(jié)構(gòu):Entity / dao / service / action

簡(jiǎn)單用戶訪問(wèn)流程:/user.action ----> Tomcat (服務(wù)器創(chuàng)建Action、Service、dao

引出思考:

1. 對(duì)象創(chuàng)建創(chuàng)建能否寫(xiě)死?

2. 對(duì)象創(chuàng)建細(xì)節(jié)

對(duì)象數(shù)量

action 多個(gè) 【維護(hù)成員變量】

service 一個(gè) 【不需要維護(hù)公共變量】

dao 一個(gè) 【不需要維護(hù)公共變量】

創(chuàng)建時(shí)間

action 訪問(wèn)時(shí)候創(chuàng)建

service 啟動(dòng)時(shí)候創(chuàng)建

dao 啟動(dòng)時(shí)候創(chuàng)建

3. 對(duì)象的依賴關(guān)系

action 依賴 service

service依賴 dao

總結(jié):Spring就是解決上面的問(wèn)題的.簡(jiǎn)單來(lái)說(shuō),就是處理對(duì)象的創(chuàng)建的、以及對(duì)象的依賴關(guān)系,降低組件之間的耦合度,實(shí)現(xiàn)軟件各層之間的解耦。

Spring介紹

•Spring是什么?

Spring是一個(gè)非常活躍的開(kāi)源框架, 它是一個(gè)基于IOC和AOP來(lái)構(gòu)架多層JavaEE系統(tǒng)的框架,它的主要目地是簡(jiǎn)化企業(yè)開(kāi)發(fā),Spring以一種非侵入式的方式來(lái)管理你的代碼, Spring提倡”最少侵入”,這也就意味著你可以適當(dāng)?shù)臅r(shí)候安裝或卸載Spring。

•具體描述Spring

1.輕量級(jí):Spring 是非侵入性的>基于 Spring 開(kāi)發(fā)的應(yīng)用中的對(duì)象可以不依賴于 Spring 的 API,基礎(chǔ)版本的Spring框架大約只有2MB.

組件/框架設(shè)計(jì)
侵入式設(shè)計(jì)
 引入了框架,對(duì)現(xiàn)有的類的結(jié)構(gòu)有影響;即需要實(shí)現(xiàn)或繼承某些特定類。
 例如: Struts框架
非侵入式設(shè)計(jì)
 引入了框架,對(duì)現(xiàn)有的類結(jié)構(gòu)沒(méi)有影響。
 例如:Hibernate框架 / Spring框架

2.依賴注入(DI --- dependency injection、IOC)

Spring使用控制反轉(zhuǎn)技術(shù)實(shí)現(xiàn)了松耦合。依賴被注入到對(duì)象,而不是創(chuàng)建或?qū)ふ乙蕾噷?duì)象。
 a、IOC Inversion on Control , 控制反轉(zhuǎn)
 其思想是反轉(zhuǎn)資源獲取的方向. 傳統(tǒng)的資源查找方式要求組件向容器發(fā)起請(qǐng)求查找資源. 作為回應(yīng), 容器適時(shí)的返回資源. 而應(yīng)用了 IOC 之后, 則是容器主動(dòng)地將資源推送給它所管理的組件, 組件所要做的僅是選擇一種合適的方式來(lái)接受資源. 這種行為也被稱為查找的被動(dòng)形式。可以簡(jiǎn)單的理解為對(duì)象的創(chuàng)建交給外部容器完成,這個(gè)就叫做控制反轉(zhuǎn).
 b、依賴注入, dependency injection
 IOC 的另一種表述方式:即組件以一些預(yù)先定義好的方式(例如: setter 方法)接受來(lái)自如容器的資源注入. 相對(duì)于 IOC 而言,這種表述更直接。
兩者區(qū)別:
 控制反轉(zhuǎn): 解決對(duì)象創(chuàng)建的問(wèn)題 【對(duì)象創(chuàng)建交給別人】
 依賴注入: 在創(chuàng)建完對(duì)象后,對(duì)象的關(guān)系的處理就是依賴注入 【通過(guò)set方法依賴注入】

3.面向切面編程(AOP --- aspect oriented programming)

a、采用了面向切面編程來(lái)實(shí)現(xiàn)很多基礎(chǔ)但是與業(yè)務(wù)邏輯無(wú)關(guān)的功能的解耦,比如:事務(wù)管理、日志、權(quán)限驗(yàn)證等。
b、AOP 的主要編程對(duì)象是切面(aspect), 而切面模塊化橫切關(guān)注點(diǎn).
c、在應(yīng)用 AOP 編程時(shí), 仍然需要定義公共功能, 但可以明確的定義這個(gè)功能在哪里, 以什么方式應(yīng)用, 并且不必修改受影響的類. 這樣一來(lái)橫切關(guān)注點(diǎn)就被模塊化到特殊的對(duì)象(切面)里.
關(guān)注點(diǎn):
 重復(fù)代碼就叫做關(guān)注點(diǎn);
切面:
 關(guān)注點(diǎn)形成的類,就叫切面(類)!
 面向切面編程,就是指對(duì)很多功能都有的重復(fù)的代碼抽取,再在運(yùn)行的時(shí)候往業(yè)務(wù)方法上動(dòng)態(tài)植入“切面類代碼”。
切入點(diǎn):
 執(zhí)行目標(biāo)對(duì)象方法,動(dòng)態(tài)植入切面代碼。
 可以通過(guò)切入點(diǎn)表達(dá)式,指定攔截哪些類的哪些方法; 給指定的類在運(yùn)行的時(shí)候植入切面類代碼。

4.容器:Spring 是一個(gè)容器, 因?yàn)樗⑶夜芾響?yīng)用對(duì)象的生命周期

5.框架:Spring 實(shí)現(xiàn)了使用簡(jiǎn)單的組件配置組合成一個(gè)復(fù)雜的應(yīng)用. 在 Spring 中可以使用 XML 和 Java 注解組合這些對(duì)象

6.一站式

Spring提供了一站式解決方案:
1) Spring Core spring的核心功能: IOC容器, 解決對(duì)象創(chuàng)建及依賴關(guān)系
2) Spring Web Spring對(duì)web模塊的支持。
  可以與struts整合,讓struts的action創(chuàng)建交給spring
  spring mvc模式
3) Spring DAO Spring 對(duì)jdbc操作的支持
  【JdbcTemplate模板工具類】
4) Spring ORM spring對(duì)orm的支持:
  既可以與hibernate整合,【session】
  也可以使用spring的對(duì)hibernate操作的封裝
5)Spring AOP 切面編程
6)SpringEE spring 對(duì)javaEE其他模塊的支持

以上這篇關(guān)于Spring總結(jié)(必看篇)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • 使用SpringBoot自定義starter詳解

    使用SpringBoot自定義starter詳解

    這篇文章主要介紹了使用Spring Boot自定義starter詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助喲,需要的朋友可以參考下
    2021-05-05
  • springboot + rabbitmq 如何實(shí)現(xiàn)消息確認(rèn)機(jī)制(踩坑經(jīng)驗(yàn))

    springboot + rabbitmq 如何實(shí)現(xiàn)消息確認(rèn)機(jī)制(踩坑經(jīng)驗(yàn))

    這篇文章主要介紹了springboot + rabbitmq 如何實(shí)現(xiàn)消息確認(rèn)機(jī)制,本文給大家分享小編實(shí)際開(kāi)發(fā)中的一點(diǎn)踩坑經(jīng)驗(yàn),內(nèi)容簡(jiǎn)單易懂,需要的朋友可以參考下
    2020-07-07
  • java如何消除太多的if else判斷示例代碼

    java如何消除太多的if else判斷示例代碼

    這篇文章主要介紹了java如何消除太多的if else判斷,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java特性之注解和異常?Throwable

    Java特性之注解和異常?Throwable

    這篇文章主要介紹了Java特性之注解和異常,注解是JDK1.5版本開(kāi)始引入的一個(gè)特性,Throwable是Java語(yǔ)言中所有錯(cuò)誤與異常的超類,文章圍繞主題展開(kāi)更多的相關(guān)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 使用@PathVariable注解如何實(shí)現(xiàn)動(dòng)態(tài)傳值

    使用@PathVariable注解如何實(shí)現(xiàn)動(dòng)態(tài)傳值

    這篇文章主要介紹了使用@PathVariable注解如何實(shí)現(xiàn)動(dòng)態(tài)傳值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中的枚舉enum詳細(xì)解讀

    Java中的枚舉enum詳細(xì)解讀

    這篇文章主要介紹了Java中的枚舉enum詳細(xì)解讀,當(dāng)我們使用enum關(guān)鍵字開(kāi)發(fā)一個(gè)枚舉類時(shí),默認(rèn)會(huì)繼承Enum類,而且是一個(gè)final類,當(dāng)有多個(gè)枚舉對(duì)象時(shí),使用逗號(hào) ,隔開(kāi),最后一個(gè)用分號(hào);結(jié)尾,需要的朋友可以參考下
    2024-01-01
  • Log4net 日志記錄詳細(xì)介紹及應(yīng)用

    Log4net 日志記錄詳細(xì)介紹及應(yīng)用

    這篇文章主要介紹了Log4net 日志記錄詳細(xì)介紹及應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • java設(shè)計(jì)模式之適配器模式

    java設(shè)計(jì)模式之適配器模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之適配器模式,介紹了什么是適配器模式,適配器模式的種類,感興趣的小伙伴們可以參考一下
    2016-08-08
  • spring通過(guò)構(gòu)造函數(shù)注入實(shí)現(xiàn)方法分析

    spring通過(guò)構(gòu)造函數(shù)注入實(shí)現(xiàn)方法分析

    這篇文章主要介紹了spring通過(guò)構(gòu)造函數(shù)注入實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了spring通過(guò)構(gòu)造函數(shù)注入的原理、實(shí)現(xiàn)步驟及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • 深入理解JAVA核心:揭秘反射機(jī)制的奧秘

    深入理解JAVA核心:揭秘反射機(jī)制的奧秘

    歡迎來(lái)到JAVA反射機(jī)制指南!想要了解如何在JAVA中實(shí)現(xiàn)靈活的編程技巧嗎?本指南將帶你揭開(kāi)JAVA反射機(jī)制的神秘面紗,讓你的編程世界更加精彩!趕緊跟我一起來(lái)探索吧!
    2024-02-02

最新評(píng)論