很多人认为,使用starter项目只有在spring.factories一种方式。 其实还另外一种,就是使用自定义注解的方式,然后再另一个项目的启动类,加入就可以了,我们可以来看下代码 这里是starter的项目 public class Tan { public void getA(){ System.out.println("aaaaaaaaaaaaaaaaaa"); } }
@Retention(RetentionPolicy.RUNTIME) //运行时使用 @Target(ElementType.TYPE) //用于类 接口 枚举 @Import(Tan.class) public @interface EnableStConfig { }
然后maven clean ,maven install 打入到本地仓库
我们切换到另一个项目来
然后再你的另一个项目里面pom使用
<dependency> <groupId>com.xxx</groupId> <artifactId>starter的项目</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
//在启动类加入这个一句,自定义starter注入的注解 @EnableStConfig @SpringBootApplication public class StartApplication { public static void main(String[] args) { SpringApplication.run(StartApplication.class, args); } }
@Autowired private Tan tan; @GetMapping("/aaaa") public void aaaa(){ tan.getA(); }
然后再浏览器输入地址 就可以看到控制台打印的信息了