springboot---前提:spring的发展

目录

  • spring时代
    • spring1.x时代
    • spring2.x时代
    • spring3.x时代到spring4.x时代
  • bean的三种配置
    • 一、显示的xml配置
    • 二、java类配置
    • 三、java注解配置

spring时代

spring1.x时代

都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。

spring2.x时代

随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。

那么,问题来了,究竟是应该使用xml还是注解呢?
最佳实践:
1、 应用的基本配置用xml,比如:数据源、资源文件等;
2、 业务开发用注解,比如:Service中注入bean等;

spring3.x时代到spring4.x时代

Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。

bean的三种配置

一、显示的xml配置

  
        ……   
  

优点:
1)低耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。
2)在处理大的业务量的时候,用XML配置应该更加好一些。
缺点:
1)配置文件读取和解析需要花费一定的时间,配置文件过多的时候难以管理。
2)无法对配置的正确性进行校验,增加了测试难度。

二、java类配置

@Configuration  
public class Conf {   
    @Scope(“prototype”)   
    @Bean(“loginUserDao”)   
    public LoginUserDao loginUserDao() {   
        return new LoginUserDao();   
    }   
} 

优点:
1)降低维护成本,因为都是java文件
2)不需要第三方解析工具,利用java反射机制。
3)编辑期就可以检验正确性,提高开发效率。
缺点:
1)配置代码过多时,直接影响代码质量,对于代码的简洁度有影响。
2)业务类之间的关系不如XML配置那样容易把握。(不是特别理解)
3)如果需要修改配置,则要重新编译整个工程。

三、java注解配置

@Scope(“prototype”)   
@Lazy(true)   
@Component(“loginUserDao”)   
public class LoginUserDao {   
    ……   
    // 用于设置初始化方法   
    @PostConstruct  
    public void myInit() {   
  
    }   
  
    // 用于设置销毁方法   
    @PreDestroy  
    public void myDestroy() {   
    }   
}   

优点和缺点与java类配置相同

你可能感兴趣的:(♫,Spring家族)