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。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值