大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Spring框架教程
Spring IOC控制反轉
Spring AOP面向切面編程
Spring集成MyBatis
Spring事務
Spring與Web

Spring中基于注解的DI依賴注入

舉例:di-annotation 項目

對于 DI 使用注解,將不再需要在 Spring 配置文件中聲明 bean 實例。Spring 中使用注解,需要在原有 Spring 運行環境基礎上再做一些改變,完成以下三個步驟。

1、導入 AOP 的 Jar 包。因為注解的后臺實現用到了 AOP 編程。

2、 需要更換配置文件頭,即添加相應的約束。

約束在 %SPRING_HOME%\docs\spring-framework-reference\html\xsd-configuration.html 文件中。

3、需要在 Spring 配置文件中配置組件掃描器,用于在指定的基本包中掃描注解。

(1)使用多個 context:component-scan 指定不同的包路徑

(2) 指定 base-package 的值使用分隔符

分隔符可以使用逗號(,)分號(;)還可以使用空格,不建議使用空格。

逗號分隔:

分號分隔:

(3) base-package 是指定到父包名

base-package 的值表是基本包,容器啟動會掃描包及其子包中的注解,當然也會掃描到子包下級的子包。所以 base-package 可以指定一個父包就可以。

或者最頂級的父包

但不建議使用頂級的父包,掃描的路徑比較多,導致容器啟動時間變慢。指定到目標包和合適的。也就是注解所在包全路徑。例如注解的類在 com.bjpowernode.beans 包中

定義 Bean 的注解@Component

需要在類上使用注解@Component,該注解的 value 屬性用于指定該 bean 的 id 值。

舉例:di01

另外,Spring 還提供了 3 個功能基本和@Component 等效的注解:

● @Repository 用于對 DAO 實現類進行注解

● @Service 用于對 Service 實現類進行注解

● @Controller 用于對 Controller 實現類進行注解

之所以創建這三個功能與@Component 等效的注解,是為了以后對其進行功能上的擴展。

@Component 不指定 value 屬性,bean 的 id 是類名的首字母小寫。

 

簡單類型屬性注入@Value

需要在屬性上使用注解@Value,該注解的 value 屬性用于指定要注入的值。

使用該注解完成屬性注入時,類中無需 setter。當然,若屬性有 setter,則也可將其加到 setter 上。

舉例:

byType 自動注入@Autowired

需要在引用屬性上使用注解@Autowired,該注解默認使用按類型自動裝配 Bean 的方式。

使用該注解完成屬性注入時,類中無需 setter。當然,若屬性有 setter,則也可將其加到 setter 上。

舉例:

byName 自動注入@Autowired 與@Qualifier

需要在引用屬性上聯合使用注解@Autowired 與@Qualifier。@Qualifier 的 value 屬性用于指定要匹配的 Bean 的 id 值。同樣類中無需 setter,也可加到 setter 上。

舉例:

@Autowired 還有一個屬性 required,默認值為 true,表示當匹配失敗后,會終止程序運行。若將其值設置為 false,則匹配失敗,將被忽略,未匹配的屬性值為 null。

 

JDK 注解@Resource 自動注入 

Spring提供了對 jdk中@Resource注解的支持。@Resource 注解既可以按名稱匹配Bean,也可以按類型匹配 Bean。默認是按名稱注入。使用該注解,要求 JDK 必須是 6 及以上版本。

@Resource 可在屬性上,也可在 set 方法上。

1、byType 注入引用類型屬性

@Resource 注解若不帶任何參數,采用默認按名稱的方式注入,按名稱不能注入 bean,則會按照類型進行 Bean 的匹配注入。

舉例:

2、byName 注入引用類型屬性

@Resource 注解指定其 name 屬性,則 name 的值即為按照名稱進行匹配的 Bean 的 id。

舉例:

Bean 的生命始末@PostConstruct 與@PreDestroy

在方法上使用@PostConstruct 與原來的 init-method 等效。在方法上使用@PreDestroy,與 destroy-method 等效。

舉例:

注解與 XML 的對比

注解優點是:

● 方便

● 直觀

● 高效(代碼少,沒有配置文件的書寫那么復雜)。

其弊端也顯而易見:以硬編碼的方式寫入到Java代碼中,修改是需要重新編譯代碼的。

●  配置和代碼是分離的

● 在xml中做修改,無需編譯代碼,只需重啟服務器即可將新的配置加載。

● xml的缺點是:編寫麻煩,效率低,大型項目過于復雜。

全部教程
主站蜘蛛池模板: 亚洲欧美综合人成野草 | 另类色视频 | 亚洲不卡在线 | 成人毛片免费观看视频大全 | 亚洲精品国产五月色 | jiz欧美高清| 久久国产香蕉一区精品 | 亚洲精品综合 | 五月天在线婷婷 | 成年视频xxxxxx在线 | 日本高清不卡一区久久精品 | 毛茸茸free牲交 | 在线亚洲国产精品区 | 一级一级18女人毛片 | 波多野结衣一区二区 | 男人天堂一区 | 男人的天堂黄 | 日韩国产欧美 | 神马影院我不卡在线观看 | 午夜撸| a一级毛片免费播放 | 欧美在线视频在线观看 | 精品久久久久久久免费加勒比 | 免费一区二区三区四区五区 | 日韩欧美一中字暮 | 成人18网址在线观看 | 动漫精品一区二区 | 精品久久久久久久高清 | 久久国产网 | 国产免费一级高清淫日本片 | 天天做天天做天天综合网 | 青青青爽视频在线观看入口 | 中文字幕在线欧美 | 成年网站视频在线观看 | 久久国产精品永久免费网站 | 夜夜夜夜猛噜噜噜噜噜 | 久久国产精品免费一区二区三区 | 国产极品福利视频在线观看 | 成人免费毛片一区二区三区 | 宅男影院在线观看 | 毛片不卡一区二区三区 |