Spring Boot - 自定义Starter

文章目录

Spring Boot - 自定义Starter


Pre

SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入springboot 为我提供的这些场景启动器,再进行少量的配置就能使用相应的功能。

但有些时候,springboot也不能囊括我们所有的使用场景,往往我们需要自定义starter,来简化我们对springboot的使用。

那怎么搞呢?


如何自定义starter?

参照@WebMvcAutoConfiguration , 看看们需要准备哪些东西

@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class })
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10)
@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class,
		ValidationAutoConfiguration.class })
public class WebMvcAutoConfiguration {
.......
}

抽取以下

@Configuration  //指定这个类是一个配置类
@ConditionalOnXXX  //指定条件成立的情况下自动配置类生效
@AutoConfigureOrder  //指定自动配置类的顺序
@Bean  //向容器中添加组件
@ConfigurationProperties  //结合相关xxxProperties来绑定相关的配置
@EnableConfigurationProperties  //让xxxProperties生效加入到容器中


自动配置类要能加载需要将自动配置类,配置在META-INF/spring.factories中


创建一个父maven项目:springboot_custome_starter


创建 两个Module: artisan-spring-boot-starter 和 artisan-spring-boot-starter-autoconfigurer

上一篇:为`php artisan serve`设置默认的’host’值


下一篇:laravel实践24.填充假数据