如何实现一个starter
(1)首先项目需要添加springboot-autowired的依赖
(2)建一个AutoConfiguration的类,加上注解@Configuration(按需求可添加@Condition注解)
(3)其次,resources中新建META-INF,新建spring.factories
内容为:org.springframework.boot.autoconfigure.EnableAutoConfiguration = \AutoConfiguration的类
此处应为有着@Condition类似注解的类(此处会自动注入到bean,如果有@Condition,会根据条件判断加载还是不加载)
(4)创建需要用到的类,同时添加注解
- @EnableConfigurationProperties:开启@ConfigurationProperties注解的支持,并将@ConfigurationProperties所标记的类注册为Spring Bean,方便在其他组件中进行注入和使用。
- @ConfigurationProperties(prefix=“”):表示获取配置文件的前缀
在AutoConfiguration的类中,编写方法返回该类实例化的,并且方法用@Bean修饰
(5)是否需要通过注解选择开启或关闭功能
如果需要
- 新建一个标记类xxx.class,可以没有任何内容
- 在AutoConfiguration的类添加注解@ConditionOnBean(xxx.class)
- 新建一个注解,需要有@Import(xxx.class)
- 需要使用功能时,添加注解即可