首页  

自定义springboot starter     所属分类 springboot 浏览量 649
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<String,String> init(Environment env) {
		Map<String,String> 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