1.DI 依賴注入
在Spring框架中,兩個組件對象之間具有依賴關系(使用和被使用),依賴注入技術就是將被使用者對象給使用者對象傳進去.
*1)setter方式注入(推薦)
a.在使用者中,定義"接口類型"的變量和setter方法
b.在spring容器配置中,添加<:property name="屬性" ref="要注入的對象名">
2)構造方式注入
a.在使用者中,定義"接口類型"的變量和帶參數(shù)的構造方法
b.在spring容器配置中,添加
*2.IOC
IOC Inversion Of Controll 反向控制,控制轉(zhuǎn)移
在Spring中利用DI技術,實現(xiàn)了IOC機制,將兩個組件解耦.
控制權:可以指定調(diào)用關系,可以創(chuàng)建對象,可以管理和釋放對象.
一般編程,使用者具有控制權,可以指定調(diào)用哪個組件,負責創(chuàng)建對象這些工作;但是基于Spring框架之后,使用者控制權轉(zhuǎn)移到了Spring容器,由Spring容器負責這些工作.
采用了IOC之后,如果底層組件(DAO)發(fā)生替換,只要修改Spring容器的配置,不需要修改上層組件(Action),將組件進行了解耦,增強了程序結(jié)構的靈活性.
3.各種類型值注入的格式
1)基本類型值的注入格式
*2)Bean對象的注入格式
3)集合類型值的注入格式
List,Set,Map,Properties類型注入格式
4.組件自動掃描
從spring2.5開始支持,因為2.5開始基于jdk5.0,從jdk5.0開始有了注解技術.
利用該技術,可以將指定package下的組件,自動掃描納入到spring容器中.避免在xml中編寫大量
使用方法如下:
1)在spring的xml配置中,引入context命名空間
2)利用
3)如果發(fā)現(xiàn)包中的類,類定義前面有以下注解,將納入spring容器,id名默認采用類名(首字母小寫).
@Controller :掃描控制層組件的注解標記,例如Action
@Service :掃描業(yè)務層組件的注解標記,例如Service
@Repository :掃描數(shù)據(jù)訪問層組件的注解標記,例如DAO
@Component :其他組件
如果需要自定義id名,可以采用@Controller("id自定義名")
4)屬性注入注解
在變量定義前,使用@Resource注解標記,spring默認會采用類型匹配原則將符合的bean對象注入進來.如果按指定id名注入bean對象,可以使用
@Resource(name="bean對象的id名").
注入還可以使用@Autowired,如果需要注入指定名的bean對象.
@Autowired
@Qualifier("hibernateUserDAO")
注意:setter方法可以不寫,將來spring自動生成.2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 | |
全國職稱計算機考試速成過關系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |