1、什么是Spring Boot
随着新功能的增加,spring逐渐变得复杂。在启动一个新的spring项目时,我们必须谈价构建路径或者maven依赖关系,以及配置应用程序服务器、添加spring配置。
Spring Boot的出现时解决这种情况额好办法,Spring Boot是建立在现有spring框架上的,使用spring启动,自动配置消除了传统Spring应用程序里的很多样板配置; Spring Boot起步依赖让你能通过库
所提供的功能而非名称与版本号来指定构建依赖
2、Spring Boot的优点
Spring Boot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。
1)自动配置:针对很多Spring应用程序常见的应用功能, Spring Boot能自动提供相关配置。
2)起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
3)命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,
无需传统项目构建。
4)Actuator:对应用程序进行监视和管理,通过restful api
请求来监管、审计、收集应用的运行情况,让你能够深入运行中的Spring Boot应用程序,一探究竟。
3、什么是JavaConfig
Spring javaConfig 是spring社区的产品,它提供了配置
spring IoC容器的Java方法,因此它有助于避免使用XML配置,使用JavaConfig的优点如下:
1)面向对象的配置:由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象功能,比如一个配置类可以继承另一个,重写它的@Bean方法等
2)减少或消除XML配置:基于依赖注入远侧的外化配置。JavaConfig为开发人员提供了一种纯Java方法来配置与XML配置相似的Spring容器,但是实际上我们一般使用的JavaConfig和XML混合的方式。
3)类安全和重构友好:JavaConfig提供了一种类型安全的方法来配置Spring容器。由于Java 5.0对泛型的支持,现在可以按类型而不是名称检索Bean,不需要任何强制转换或者基于字符串的查找。
4、起步依赖
Spring Boot通过提供众多起步依赖降低项目依赖的复杂度。起步依赖本质上是一个Maven项目对象模型(POM),定义了对其他库的传递依赖。
起步依赖本身的版本是由正在使用的Spring Boot版本决定的,而起步依赖则会决定他们引入的传递依赖的版本,Spring Boot经过了足够的测试,确保引入的全部依赖版本能相互兼容,因此对于开发人员来说这是一种解脱,不用担心自己需要维护那些库,也不必担心它们的版本。
既然可以构建工具引入项目依赖,当然也可以在构建的时候选择性的覆盖它们引入的传递依赖的版本号,以排除传递依赖,还可以为那些Spring Boot 依赖没有覆盖的库指定依赖
5、自动化配置
利用Spring的条件化配置(Spring 4.0引入的新特性),开发人员可以选择是否在程序中使用相关配置。条件化配置允许存在于应用程序中,但在满足默写特定条件之前都忽略这个配置