自定义springboot starter
所属分类 springboot
浏览量 802
starter作用
依赖管理
自动配置
starter 命名
自动配置类,用来初始化相关的 bean
spring.factories 配置自动配置类名
自定义属性类 (可选 ,可以直接注入Environment 自己获取配置信息)
spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.dyyx.mystarter.configuration.MyStarter2AutoConfiguration
一个自动配置 初始化的例子 ,
通过注入的 Environment 获取配置信息 , 可以 不需要 自定义属性类
组件xxx
xxx_starter.jar
xxx.jar
通过 xxx_starter 引入 xxx ,并对 xxx 进行配置
spring-boot-starter-logging
为 logging 使用Logback
spring-boot-starter-tomcat
使用 Tomcat 作为嵌入式服务容器
spring-boot-starter-log4j2
使用Log4j2记录日志
@Configuration
public class MyStarter2AutoConfiguration{
@Bean("myStarter2InitBean")
public Map init(Environment env) {
Map map = new HashMap<>();
String[] defaultProfiles = env.getDefaultProfiles();
String[] activeProfiles = env.getActiveProfiles();
String appName = env.getProperty("app.name");
map.put("appName",appName);
map.put("defaultProfiles",arr2String(defaultProfiles));
map.put("activeProfiles",arr2String(activeProfiles));
System.out.println("\n\n\n");
System.out.println("MyStarter2AutoConfiguration myStarter2InitBean run,"+LocalDateTime.now()+","+map);
System.out.println("\n\n\n");
return map;
}
private static String arr2String(String[]arr) {
if(arr==null) {
return null;
}
return String.join(",", arr);
}
}
完整代码
https://gitee.com/dyyx/demos/tree/master/springbootstarter/mystarter2
spring-boot-starter原理
springboot禁用特定的自动配置类
上一篇
下一篇
Go语言atomic原子操作
GO mutex 与 atomic 性能对比
cannot find GOROOT directory
springboot禁用特定的自动配置类
go defer 延迟函数
java NIO http server