springboot项目导入外部jar包的bean的几种方式

Posted 爱吃柚子的小头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot项目导入外部jar包的bean的几种方式相关的知识,希望对你有一定的参考价值。

背景

公司封装了基础包和日志包,将公共的配置抽取出来,供所有项目使用,因此就需要考虑,怎么引入外部jar包的Bean实例;

思考

因为公司的jar包就是普通的jar,不支持springboot的自动配置(架构师没有写成spring-boot-starter),所以开发时,第一反映就是使用@ComponentScan扫描外部的配置,但是总感觉这种方式不太优雅

解决方式

  1. 针对普通的jar包
  • 直接通过@ComponentScan注解扫描,跟我想的一样,如果只需要使用个别的bean,就单独扫描即可
  • 在jar包中编写@Configuration配置类,然后使用@ConponentScan扫描所有的bean,然后自定义注解,使用@Import({xxx.class})注解导入前面编写的配置类,在项目中使用时,只需要添加自定义注解即可; 这种方式在项目中不用关注jar包的所需要扫描的路径
  1. 针对starter方式的jar包
  • springboot默认启动时,会扫描所有的自动配置类,然后将其加载进来,并注入到IOC容器中,因此只需要制作一个springboot的starter包,在pom中引入就可以了,无需扫描配置!

参考文档:https://www.cnblogs.com/adversary/p/10346278.html

以上是关于springboot项目导入外部jar包的bean的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

如何在springboot项目中删除引用jar包中的无用bean

如何在springboot项目中删除引用jar包中的无用bean

关于Maven项目引入外部jar包的方式

Eclipse下导入外部jar包的3种方式

java项目(java project)如何导入jar包的解决方案列表

使用@import导入实现了ImportBeanDefinitionRegistrar接口的类,不能被注册为bean