IOC的註解開發

文章介紹:在前面,我們使用在applicationContext.xml文件中寫<bean>標籤的方式完成Bean對象的管理,並在<bean>標籤下通過<property>等標籤完成屬性注入,還有init-method、estroy-metho等屬性爲一個Bean類配置初始化方法和構造方法。這一切都是在applicationContext.xml這個配置文件下完成的。這篇文章將介紹另一個方式(註解方式)完成這些操作,並最後比較二者的優缺點,說明實際應用場景

1Bean管理

Spring提供一個名爲組件的註解:@Component ,它作用在類上。我們只需在applicationContext.xml文件的<beans>標籤下加入    <context:component-scan base-package="ioc" />開啓組件掃描,就可以掃描出所有配置了@Component註解的類進行bean管理。

 

再後來,Spring覺得一個@Component不能體現分層,於是在它的基礎上衍生了另外三個註解:

@Controller           WEB

@Service               :業務層

@Repository          :持久層

2、依賴注入管理

注意:在使用註解注入的方式時,可以不用提供set方法,即直接在變量上加註解(但是如果有set方法就一定要將註解加在set方法上)

(1)普通屬性注入——@Value

 

(2)對象屬性注入

     ①使用@Autowired :默認按類型進行裝配

 

如果想要按照名字(即<bean>標籤的id)進行查找,我們就得用另一標籤——@Qualifier強制使用名稱注入

 

     ②使用@Resource(推薦使用)

           相當於@Autowired和@Qualifier一起用

3、其他註解

(1)@Scope:

     *  singleton:單例

     *  prototype:多例

(2)

     @PostConstruct:相當於init-method

     @PreDestroy:相當於destroy-method

4XML和註解開發的比較

     * XML   :結構清晰

     * 註解  :開發方便

註解不能使用的場景:當使用的Bean來自第三方時,無法使用註解(因爲已經無法在封裝好的代碼中進行修改,就無法使用@Resource等註解,只能用XML文件進行管理)

注:在實際開發中還有一種XML和註解整合開發的方式:即Bean由XML配置,使用的屬性使用註解注入。

 

最後,對今天的內容以一張圖來總結:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章