主要内容

自定义SpringApplication

SpringApplication

SpringApplication 是Spring Boot 驱动Spring 应用上下文的引导类

  1. @SpringBootConfiguration
  2. @EnableAutoConfiguration
  3. @ omponentScan(
  4. excludeFilters = {@Filter(
  5. type = FilterType.CUSTOM,
  6. classes = {TypeExcludeFilter.class}
  7. ), @Filter(
  8. type = FilterType.CUSTOM,
  9. classes = {AutoConfigurationExcludeFilter.class}
  10. )}
  11. )
  12. public @interface SpringBootApplication {

@componentScan:它是在Spring Framework 3.1 引入的

@EnableAutoConfiguration :激活自动装配 @Enalbe -> @Enable 开头的

  • @EnableWebMvc
  • @EnableTransactionManagement
  • ``

@SpringBootConfiguration :等价于 @Configuration ->Configuation Class 注解

@Component 的“派生性”

image.png

Spring注解编程模型链接

  • @Component
    • @Service
      • image.png
    • @Repository
      • image.png
    • @Controller
      • image.png
    • @Configuration
      • image.png

Spring 模式注解: Stereotype Annotations

Spring 注解驱动的示例

注解驱动上下文 AnnotationConfigApplicationContext ,Spring Framework 3.0开始引入的

image.png
@SpringBootApplication 标注当前一些功能
等价于
image.png

SpringApplication Spring Boot 应用的引导
image.png

SpringApplicationBuilder

  1. new SpringApplicationBuilder(MicroservicesProjectApplication.class)
  2. //单元测试是PORT=RANDOM
  3. .properties("server.port=0") //随机向os要可用端口
  4. .run(args);

image.png

调整示例为非web程序

image.png
image.png

配置Spring Boot源

SpringApplication类型推断

image.png

Spring Boot事件

image.png
image.png
image.png