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

全部教程
主站蜘蛛池模板: 婷婷综合五月中文字幕欧美 | 女性一级全黄生活片在线播放 | 99免费在线播放99久久免费 | 视频一区二区欧美日韩在线 | 福利视频免费观看 | 久久这里只精品国产99热 | 末成年一级在线看片 | 亚洲天天网综合自拍图片专区 | 操日日 | 国产成人午夜 | 偷拍清纯高清视频在线 | 亚洲男人天堂久久 | 手机在线中文字幕 | 日韩在线观看一区二区三区 | 精品中文字幕一区二区三区四区 | 精品哟啊呦v视频在线观看 精品哟哟国产在线观看 | 久久噜噜久久久精品66 | 一级毛片在线播放免费 | 久久红综合久久亚洲网色 | 免费看一级特黄a大片 | 亚洲人xx视频 | 曰本还a大片免费无播放器 曰本黄色录像 | 亚洲国产成人精品激情 | 全部毛片 | 久久久精品2021免费观看 | 国产九九免费视频网站 | 日本爱爱网 | 成人久久18免费网站 | 97视频观看 | 曰批免费视频播放在线看片 | 欧美精品1区2区 | 亚洲视频中文 | 国产成人免费不卡在线观看 | 欧美一级刺激毛片 | 4hu四虎| 久久婷婷色综合老司机 | 北条麻妃手机在线观看 | 亚洲精品国精品久久99热 | 色婷婷色综合激情国产日韩 | 奇米激情网| 99久久精品免费看国产四区 |