恩,先总结下Spring 的历史演化历程:编程
Spring 1.0的出现改变了企业级Java应用程序的方式。Spring的依赖注入与声明式事务意味着组件之间不再存在紧耦合,不再用重量级的EJB了。spa
Spring 2.0,能够在配置里使用自定义的XML命名空间,更小、更简单易懂的配置文件让Spring自己更便于使用。命令行
Spring 2.5有了更优雅的面向注解的依赖注入模型(即@Component和@Autowired注解),以及面向注解的Spring MVC编程模型。不用再去显式地声明应用程序组件了,也再也不须要去继承某个基础的控制器类了。继承
Spring 3.0,有了一套基于Java的全新配置,它可以取代XML。在Spring 3.1里,一系列以@Enable开头的注解进一步完善了这一特性。终于,咱们第一次能够写出一个没有任何XML配置的Spring应用程序了。 事务
Spring 4.0对条件化配置提供了支持,根据应用程序的Classpath、环境和其余因素,运行时决策将决定使用哪些配置,忽略哪些配置。那些决策不须要在构建时经过编写脚本肯定了;之前会把选好的配置放在部署的包里,如今状况不一样了。部署
Spring boot精髓:class
一、自动部署:针对不少Spring应用程序的常见功能,Spring Boot能自动提供相关配置。基础
二、起步依赖:告诉Spring Boot须要什么功能,它就能引入须要的库。配置
三、命令行界面:正式Spring Boot的可选特性,只须要写代码就能够完成完整的应用程序,无需传统项目构建。依赖注入
四、Actuator:可以深刻运行中的Spring Boot应用程序,一探究竟。