Spring Boot 8. 自定义starters

自定义starters

starters 原理、自定义 starters
starte:

  1. 这个场景需要使用到的依赖是什么?
  2. 如何编写子自动配置
    @Configuration 指定这个类是一个配置类
    @ConditionalOnXxx 在指定天降成立的情况下自动配置类生效
    @AutoConfigureAfter 指定自动配置的顺序
    @Bean 给容器中添加组件
    
    @ConfigurationPropertie 结合相关XxxProperties生效加入到容器中
    @EnableConfigutrationProperties 让 XxxPropertes生效加入到容器中
    
    自动配置类要加载
    将需要启动就要加载的自动配置类,配置在 META-INF/spring.factories
    org.springframework.context.ApplicationContextInitializer=\
    com.cainiao100.springboot.listener.HelloApplicationContextInitializer
    org.springframework.boot.SpringApplicationRunListener=\
    com.cainiao100.springboot.listener.HelloSpringApplicationRunListener
    

一、自定义starters

•自动装配Bean;
–自动装配使用配置类(@Configuration)结合Spring4 提供的条件判断注解@Conditional及Spring Boot的派生注解如@ConditionOnClass完成;
•配置自动装配Bean;
–将标注@Configuration的自动配置类,放在classpath下META-INF/spring.factories文件中,如:

自动装配顺序
–在特定自动装配Class之前
•@AutoConfigureBefore
–在特定自动装配Class之后
•@AutoConfigureAfter
–指定顺序
•@AutoConfigureOrder

二、启动器(starter)

Spring Boot 8. 自定义starters

  • 启动器模块是一个空JAR 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库
  • 命名规约:
    推荐使用以下命名规约;
    官方命名空间
    • 前缀:“spring-boot-starter-”
    • 模式:spring-boot-starter-模块名
    • 举例:spring-boot-starter-web、spring-boot-starter-actuator、spring-boot-starter-jdbc
      自定义命名空间
    • 后缀:“-spring-boot-starter”
    • 模式:模块-spring-boot-starter
    • 举例:mybatis-spring-boot-starter
上一篇:第八章:(1)Spring Boot 之 自定义starter


下一篇:究竟什么是Spring Boot,和普通Spring项目有什么区别