黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

全部教程
主站蜘蛛池模板: 日韩a毛片免费全部播放完整 | 国产自产视频在线观看香蕉 | 911精品国产亚洲日本美国韩国 | 日韩免费成人 | 特级毛片永久久免费观看 | 三级黄色毛片网站 | 97人洗澡人人澡人人爽人人 | 91精品国产乱码久久久久久 | 日韩欧美亚洲综合久久99e | 国产粉嫩嫩00在线正在播放 | 午夜伦理片免费观看在线 | 农村偷人一级超爽毛片 | 成人观看免费大片在线观看 | 国产亚洲精品仙踪林在线播放 | 91国内精品久久久久免费影院 | 成人免费观看高清在线毛片 | 极品美女啪啪无套 | 亚洲午夜精品一区二区 | 日日狠狠的日日日日 | 午夜影院普通 | 男女91视频| 在线免费色视频 | 亚洲午夜成激人情在线影院 | 欧美精品成人a多人在线观看 | 亚洲色大成网站www 亚洲色图天堂 | 国产成人免费观看在线视频 | 一级欧美一级日韩片 | 日韩手机视频 | 你懂得在线播放 | 成人观看免费大片在线观看 | 黄色a三级三级三级免费看 黄色a三级免费看 | 国产精品日韩欧美一区二区三区 | 无码日韩精品一区二区免费 | 国产一线大片免费观看 | 二区三区不卡不卡视频 | 深夜毛片 | 99re视频精品全部免费 | 午夜美女影院久 | 污视频18高清在线观看 | 成年男女免费视频网站 | 在线资源视频 |