SpringBoot 自定义starter
2022-05-15 01:20:55 12 举报
自定义springbootstarter / 制作自定义starter开关
作者其他创作
大纲/内容
③ 测试
② 定义bean属性
@EnableConfigurationProperties(SimpleBean.class) @ConfigurationProperties(prefix = \"simplebean\") @Datapublic class SimpleBean { private int id; private String name;}
热插拔技术:加了这个注解就可以启动对应的starterpublic class ConfigMarker {}
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\com.lagou.config.MyAutoConfiguration
② 导入spring-boot-autoconfigure依赖
③ 新增注解 EnableXXX
@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Import({ConfigMarker.class})public @interface EnableXXX {}
使用starter
定义starter
@EnableXXX
@Configuration@ConditionalOnBean(ConfigMarker.class)public class MyAutoConfiguration { @Bean public SimpleBean simpleBean(){ return new SimpleBean(); }}
simplebean.id=1simplebean.name=自定义starter
① maven工程:xx-spring-boot-starter
④ 编写AutoConfiguration
<dependency> <groupId>com.xx</groupId> <artifactId>xx-spring-boot-starter</artifactId> <version>1.0-SNAPSHOT</version></dependency>
① 新增标记类ConfigMarker
③ 编写javaBean
@Autowiredprivate SimpleBean simpleBean;@Testpublic void StarterTest(){ System.out.println(simpleBean);}
② 新增注解 EnableXXX
④ 启动类上新增@EnableXXX注解
@Configurationpublic class MyAutoConfiguration { @Bean public SimpleBean simpleBean(){ return new SimpleBean(); }}
① 使用 xx-spring-boot-starter
SpringBoot提供的starter以 spring-boot-starter-xxx 的方式命名的。官方建议自定义的starter使用 xxx-spring-boot-starter 命名规则。以区分SpringBoot生态提供的starter
⑤ resources下创建/META-INF/spring.factories
收藏
收藏
0 条评论
回复 删除
下一页