Spring -- 三種配置方式


1、Explicit configuration in XML:顯示的XML配置。

     優點:

     1)XML配置方式進一步降低了耦合,使得應用更加容易擴展,即使對配置文件進一步修改也不需要工程進行修改和重新編譯。

     2)在處理大的業務量的時候,用XML配置應該更加好一些。
     缺點:

     1)配置文件讀取和解析需要花費一定的時間,配置文件過多的時候難以管理。

     2)無法對配置的正確性進行校驗,增加了測試難度。

 

2、Explicit configuration in Java:顯示的JavaConfig,基於java類配置。

      @Configuration 

      public class Conf {   

          @Scope(“prototype”)   

          @Bean(“loginUserDao”)   

          public LoginUserDao loginUserDao() {   

                return new LoginUserDao();   

         }   

    }   

     在標注了@Configuration的java類中,通過在類方法標注@Bean定義一個Bean。

 

    通過在成員變量或者方法入參處標注@Autowired按類型匹配注入,也可以使用@Qualifier按名稱配置注入。

    JavaConfig is the preferred option for explicit configuration
because it’s more powerful, type-safe, and refactor-friendly.

    優點:

    1)在class文件中,降低維護成本。

    2)不需要第三方解析工具。

    3)編輯期就可以檢驗正確性,提高開發效率。

    缺點:

    1)配置代碼過多時,直接影響代碼質量,對於代碼的簡潔度有影響。

    2)業務類之間的關系不如XML配置那樣容易把握。

    3)如果需要修改配置,則要重新編譯整個工程。

 

3、Implicit bean discovery and automatic wiring:隱式的bean掃描,基於java注解配置,自動注入。

    @Scope(“prototype”)   

    @Lazy(true)  

    @Component(“loginUserDao”)  

    public class LoginUserDao {  }   

     @Component:標注一個普通的Spring Bean類

 

     在方法處通過@Autowired使方法入參綁定Bean,然后在方法中通過代碼進行注入。

     優點:

     1)在class文件中,降低維護成本。

     2)不需要第三方解析工具,利用java反射機制。

     3)編輯期就可以檢驗正確性,提高開發效率。

     缺點:

     1)如果需要對annotation進行修改,那么要重新編譯整個工程。

     2)業務類之間的關系不如XML配置那樣容易把握。

     3)如果在程序中annotation比較多,直接影響代碼質量,對於代碼的簡潔度有影響。

     4)符合條件的多個bean注入時,spring不知道如何選擇,會有異常NoUniqueBeanDefinitionException。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM