Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
作为Spring引导文档,@SpringBootApplication注释等同于同时使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性。Spring Boot允许开发人员使用单个注释而不是多个注释。但是,众所周知,Spring提供了松散耦合的特性,我们可以根据项目需要为每个注释使用这些特性。
过滤程序包的方法不尽相同。但是弹簧启动提供了一个更复杂的选项,可以在不接触组件扫描的情况下实现这一点。在使用注释@ SpringBootApplication时,可以使用排除属性。请参阅下面的代码片段:
@SpringBootApplication(exclude= {Employee.class})
public class FooAppConfiguration {}
若发现任何不愿使用的特定自动配置类,可以使用@EnableAutoConfiguration的排除属性。
//By using “exclude”
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
另一方面,如果类别不在类路径上,则可以使用excludeName类注解,并且指定完全限定名。
//By using “excludeName”
@EnableAutoConfiguration(excludeName={Foo.class})
此外,Spring Boot还具有控制排除自动配置类列表的功能,可以通过使用spring.autoconfigure.exclude property来实现。可以将其添加到 propertie应用程序中,并且可以添加逗号分隔的多个类。
//By using property file
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
图片来源:unsplash.com/@helloimnik
4. 什么是Spring Actuator?它有什么优势?
这是Spring Boot中最常见的面试问题之一。根据Spring文件:
执行器是一个制造术语,指的是移动或控制某物的机械装置。执行机构可以从一个小的变化中产生大量的运动。
众所周知,Spring Boot提供了许多自动配置特性,帮助开发人员快速开发生产组件。但是,当考虑调试和如何调试,如果出现问题,总是需要分析日志并挖掘应用程序的数据流,检查问题出在何处。因此,Spring Actuator提供了方便的访问这些类型的途径。它提供了许多特性,例如创建了什么样的bean、控制器中的映射、CPU使用情况等等。它还可以将自动收集和审计健康状况和指标应用到应用程序中。
它提供了一种非常简单的方法来访问少数生产就绪的REST端点,并从Web获取各种信息。但是通过使用这些端点,你可以做很多事情来查看端点文档。没有必要担心安全问题;如果存在Spring Security,则默认使用Spring Security的内容协商策略保护这些端点。或者,可以在RequestMatcher的帮助下配置自定义安全性。
启用/禁用致动器很容易;最简单的方法是使特性能够将依赖项(Maven/Gradle)添加到spring-boot-starter-actuator,即启动器。如果不想启用致动器,那么就不要添加依赖项。
其实就是简单、快速、方便!平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?
1)配置 web.xml,加载 Spring 和 Spring mvc
2)配置数据库连接、配置 Spring 事务
3)配置加载配置文件的读取,开启注解
4)配置日志文件
…
配置完成之后部署 Tomcat 调试