建立一个项目。
建立两个模块。
一个是starter,启动配置 引用自动配置包。
一个是autoconfigure,
比如Spring-boot-web-starter。
点进去发现,没有源代码。因为他只是一个暴露借口,真正代码写在AutoConfigure.
需要配置
META-INF
下面
spring.factories
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration
starter模块,pom去引入autoconfigure。
starter作为暴露给外部用的。这个可以用 maven项目。
autoconfigure,这个模块。用Spring Initializr 来做。不启动 不单独打包。
开始 1、新建一个junlin-spring-boot-starter 空项目。empty project.里面新建两个模块。 maven项目junlin-spring-boot-starter,Spring Initializr 的junlin-spring-boot-starter-autoconfigure
pom文件,test 依赖,build下面依赖的插件 都可以干掉。
配置文件,applciation.peroperiese 也可以删掉。
4、新建两个类,一个实现方法类。一个自动配置类。PrintAutoConfigure 自动配置类
@Configuration
@ConditionalOnClass(value = {PrintServiceImpl.class} )
public class PrintAutoConfigure {
@Bean
@ConditionalOnMissingBean
PrintServiceImpl startService() {
return new PrintServiceImpl();
}
}
PrintServiceImpl 实现方法类
public class PrintServiceImpl {
public void printMethod(){
System.out.println("你好,李君临!");
}
}
可以打包了。
autoconfigure ,需要添加factories
需要将这个删除
层级关系
——springboot-customer-starter (自定义starter)
————springboot-mystarter (启动器)
————springboot-mystarter-autoconfiguration(自动配置)
解决办法:
将springboot-mystarter-autoconfiguration中的
org.springframework.boot
spring-boot-maven-plugin
正确导入和 配置 yml文件就可以
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)