springboot将jar包中的配置类注入spring容器中

最近公司用微服务打算搭建一个订单系统,订单系统只能由内网调用,架构组打算让每一个应用引用订单系统的jar包进行请求,下面是订单系统请求的相关代码,jar包内的代码

springboot将jar包中的配置类注入spring容器中

 我们引入这个jar包,并将本地application.properties配置trade.url配置信息

然后启动发现这个url并没有被赋值,很好奇,就大致看了一下@SpringBootApplication注解

springboot将jar包中的配置类注入spring容器中

这个是自动配置注解,点进去发现有个有个自动配置包,继续点进去

springboot将jar包中的配置类注入spring容器中

发现里面导入了 Registrar这个类

springboot将jar包中的配置类注入spring容器中

 继续点进去,发现理念有个默认注册bean方法

springboot将jar包中的配置类注入spring容器中

 其实就是获取当前注解的包名,然后将该包名下的配置注入进来,而我们依赖的jar包属于包外部配置类,springboot也就无法将该配置注入到spring容器中,针对这种情况,我们可以在主启动类上加扫描的基础包

springboot将jar包中的配置类注入spring容器中

 将原来的包名和要的第三方的包名加入其中就可以扫描到基础包外的配置信息,接下来我们只需要在自己的项目中配置,trade.url信息就可以被spring读取到

 

springboot将jar包中的配置类注入spring容器中