最近需要自定义一个starter,作为依赖给项目使用.然后按照记忆中的操作一步步的进行,结果一直失败.总共卡了几个小时把.后来在仔细看,才发现自定义的starter应该是创建一个Maven项目才对,但是我一直创建的是一个springboot项目.
在其他项目引入依赖之后,一直启动不来项目.
下面介绍一种简单的自定义starter.
1.创建一个Maven 项目(很重要)
在依赖中导入web依赖就可以
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2. 自定义业务实现类
public class HelloTemplate {
public void add(){
System.out.println("HelloTemplate----add");
}
public void del(){
System.out.println("HelloTemplate----del");
}
public void list(){
System.out.println("HelloTemplate----list");
}
}
3. 自定义自动配置类
@Configuration
@ConditionalOnClass(HelloTemplate.class)
public class HelloAutoConfig {
@Bean
public HelloTemplate getHelloTemplate(){
return new HelloTemplate();
}
}
4. 自定义spring.factories配置文件
在resources下创建META-INF文件夹,再次创建spring.factories文件
配置自定义配置类的路径
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.config.HelloAutoConfig
也可配置多个自定义配置类的路径
5.把项目打包方式设置为jar
maven clean install 生成jar包
6.在其他项目中引入该自定义starter 的依赖即可.
测试 略