大战熟女丰满人妻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的缺點是:編寫麻煩,效率低,大型項目過于復雜。

全部教程
主站蜘蛛池模板: 国产亚洲精品自在久久77 | 香焦视频在线观看黄 | 99er热久久精品中文字幕 | 久草在线视频首页 | 国产在线观看一区精品 | 亚洲国产爱久久全部精品 | 99在线免费播放 | 亚洲在线观看一区二区 | 精品一区二区视频 | 一a级毛片 | 久久成人国产精品免费 | 狠狠色丁香婷婷综合欧美 | 黄色在线观看视频免费 | 成人免费观看www视频 | 亚洲国产最新 | 女人一级毛片免费观看 | 一区二区免费看 | 黑人巨大vs日本人优 | 91中文| 可以免费观看欧美一级毛片 | 四虎永久地址 | 日日夜夜影院 | a资源在线 | 色综合久久精品中文字幕 | 国产资源精品一区二区免费 | 日韩欧美在线看 | 国产欧美亚洲精品第二区首页 | 色综合亚洲欧美在线 | 男女午夜影院 | 99精品视频在线观看免费播放 | 亚洲国产精品日韩在线 | 亚洲免费一级片 | 一级爱爱片 | 蜜桃综合 | 欧美精品一区二区精品久久 | 香蕉视频成人 | 国产成人a v在线影院 | 成人一区二区免费中文字幕 | fxxxx性欧美高清 | 国产精品久久久久久久久齐齐 | 一区二三区国产 |