spring的sdk或者starter开发总体上有几个点需要注意
Java SDK版本兼容
当前很多java8/java11及以上的系统,太高的版本可能会造成不兼容,太低的jdk版本性能和一些库以及语言特性无法使用,这个需要综合考量
Spring配置类使用
大体上启动一个starter的步骤
step-1
构建入口
构建 spring factories文件, 指明启动的配置类(@Configuration注解类)
location src/main/resources/META-INF/spring.factories
step-2
配置启动
@ConditionalOnProperty 指定条件配置
@ConditionalOnMissingBean 指定Bean条件注入
@ConfigurationProperties(prefix= xxxxx) 指定配置项前缀
@Import 引入其他类型格式配置或者资源
step-3
spring容器扫包
使用注解@ComponentScan 指明包扫描范围,将spring框架注入的bean全部在容器启动时注入
其实上面两步就可以了,整体上还是比较简单的
注意事项
- sdk的maven依赖
属性( provide ),配置环境依赖的实际 - 组件冲突,由于一般spring使用单例,其他系统使用的时候有概率已经实例化过相同的组件了,这个时候要使用@ConditionalOnMissingBean注解
- @Qualifier注解的使用,还是因为2,虽然bean名字可以区分,但是如果其他系统未使用指定名称,也会有冲突,会发现有两个实例
Q.E.D.