dadda

 

 

 

它提供了三種主要的裝配機制:測試

XML中進行顯式配置。ui

Java中進行顯式配置。spa

隱式的bean發現機制和自動裝配。設計

 

 

 

2.2 自動化裝配bean3d

 

2.2.1 建立可被發現的bean,並裝配component

 概述:xml

  若是Spring可以進行自動化裝配的話,那何苦還要顯式地將這些bean裝配在一塊兒呢?blog

  Spring從兩個角度來實現自動化裝配:接口

  組件掃描(component scanning):Spring會自動發現應用上下文中所建立的beanci

  自動裝配(autowiring):Spring自動知足bean之間的依賴。

  設計理念:@Component註解+@Autowired+接口  利用Java的接口的多肽和Spring的自動裝配配合對有依賴的代碼組件進行合理的解耦。

 

 1. 掃描設置:

  方式1@ComponentScan+@Configuration註解:默認會掃描與配置類相同的包。由於CDPlayerConfig類(配置     類)

      位於soundsystem包中,所以Spring將會掃描這個包以及這個包下的全部子包,查找帶有@Component註解的類。

 

  @ComponentScan(basePackages={「pack1」,」pack2」})

  @ComponentScan(basePackageClasses={「Class1.class」,」Class2.class」})

  例子:

  

  

   

 

  方式2XML <context:component-scan base-package=「」>

 

 2. 爲組件掃描的bean命名:

  方式1:默認Spring會根據類名爲其指定一個ID,將類名的第一個字母變爲小寫 相似於 financialService

  方式2:  @Component(「financialService」)

  方式3:Java依賴注入規範(Java Dependency Injection)中所提供的@Named註解  (不多用)

    

 3. 自動裝配

  @Autowired註解

  1.用在構造器上

    

  2.用在屬性的Setter方法上

    

   

  3.用在屬性上

    

   4.無論是構造器、Setter方法仍是其餘的方法,Spring都會嘗試知足方法參數上所聲明的依賴。假

     若有且只有一個bean匹配依賴需求的話,那麼這個bean將會被裝配進來。

   5.@Autowired的required屬性設置爲false:沒有匹配的bean,不會拋出異常。

  

  4.顯式配置

    1.Java

      1.建立JavaConfig配置類,爲其添加@Configuration註解

      2.在JavaConfig中聲明bean,咱們須要編寫一個方法,這個方法會建立所需類型的實例,而後

         給這個方法添加@Bean註解。

    2.XML

      1. 建立一個XML文件,而且要以<beans>元素爲根

        2. 聲明一個簡單的<bean>

         

    

 

 

 

 

 

 

 

 

 

測試:

@RunWith(SpringJUnit4ClassRunner):在測試開始的時候自動建立Spring的應用上下文。

@ContextConfiguration(classes=「配置類.class或者xml路徑)  會告訴它須要怎麼加載配置

相關文章
相關標籤/搜索