springboot项目导入外部jar包的bean的几种方式
背景
公司封装了基础包和日志包,将公共的配置抽取出来,供所有项目使用,因此就需要考虑,怎么引入外部jar包的Bean实例;
思考
因为公司的jar包就是普通的jar,不支持springboot的自动配置(架构师没有写成spring-boot-starter),所以开发时,第一反映就是使用@ComponentScan扫描外部的配置,但是总感觉这种方式不太优雅
解决方式
- 针对普通的jar包
- 直接通过@ComponentScan注解扫描,跟我想的一样,如果只需要使用个别的bean,就单独扫描即可
- 在jar包中编写@Configuration配置类,然后使用@ConponentScan扫描所有的bean,然后自定义注解,使用@Import({xxx.class})注解导入前面编写的配置类,在项目中使用时,只需要添加自定义注解即可; 这种方式在项目中不用关注jar包的所需要扫描的路径
- 针对starter方式的jar包
- springboot默认启动时,会扫描所有的自动配置类,然后将其加载进来,并注入到IOC容器中,因此只需要制作一个springboot的starter包,在pom中引入就可以了,无需扫描配置!
参考文档:https://www.cnblogs.com/adversary/p/10346278.html
springboot项目导入外部jar包的bean的几种方式的更多相关文章
- 导入外部jar包的方法
注:使用的编译平台为eclipse <算法>一书中需要引入外部jar包(algs4.jar),因此特地去学了下导入外部jar包的方法.步骤如下: 1.先将algs4.jar拷到j如下路径: ...
- Eclipse中导入外部jar包步骤
昨天,学习了Jar包的打包过程,现在打算记录一下,如何在Eclipse中导入外部Jar包. 第一步:在项目中鼠标右键>>New>>点击Folder. 第二步:在弹出窗口将Fol ...
- maven将自己的springboot项目打包成jar包后,作为工具包引入其他项目,找不到jar中的类
将springboot项目打包成jar包,作为工具包导入项目后,找不到jar中的类. 原因是:springboot项目使用了自动的打包插件. 原先的插件配置: <build> <pl ...
- maven导入外部jar包的方法
maven的导入外部jar包的方法(前提还有外部jar包) 1.问题: 在maven添加依赖包时,添加不成功,可以选择通过外部命令导入到仓库里. 2.命令:(在Dos命令行) mvn install: ...
- Eclipse导入外部jar包的步骤
(1)首先在项目的跟目录下先建一个名字为lib的文件夹,通常外部导入的jar包都放在这个文件夹下面. (2)将需要用到的jar包复制到lib文件夹下面. (3)在项目中导入jar包 右键项目,选择Bu ...
- eclipse导入外部jar包
首先在项目下创建一个文件夹,保存我们的jar包. 在项目名上右击,依次点击[New]-->[Floder],打开新建文件夹窗口输入文件夹名称[lib],点击[ok].我们通常在lib文件夹中存放 ...
- 【转】Eclipse下导入外部jar包的3种方式
我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式. 1.最常用的普通 ...
- Eclipse中导入外部jar包
首先在项目下创建一个文件夹,保存我们的jar包. 在项目名上右击,依次点击[New]-->[Floder],打开新建文件夹窗口 输入文件夹名称[lib],点击[ok].我们通常在lib文件夹 ...
- Eclipse中导入外部jar包(zhuan)
http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html ************************************* ...
- Eclipse下导入外部jar包的3种方式 (zhuan)
http://blog.csdn.net/mazhaojuan/article/details/21403717 ******************************************* ...
随机推荐
- Python FastAPI 获取 Neo4j 数据
前提条件 先往Neo4j 里,准备数据 参考:https://www.cnblogs.com/vipsoft/p/17631347.html#创建传承人 搭建 FastAPI 项目:https://w ...
- CountDownLatch、CyclicBarrier 使用区别
主要区别 CountDownLatch:所有子线程完成后,再执行主线程 CyclicBarrier: 所有子线程就绪后,再执行子线程 CountDownLatch 所有子线程完成后,再执行主线程 多线 ...
- 盛科交换机和ovs交换机建立VxLAN隧道
环境信息 盛科交换机信息: R3# show version CentecOS Software, E580, Version 5.3.6 Copyright (C) 2004-2017 Centec ...
- 国密证书 VS 传统 SSL 证书,到底区别在哪?
根据 Myssl.com 的统计,目前 99% 的互联网网站使用的是传统 RSA 算法的 SSL 证书.也许你会问,使用传统证书有什么影响吗?现阶段而言,确实没有什么影响.但我国绝大多数网站系统使用的 ...
- C++ 智能指针的正确使用方式
C++11 中推出了三种智能指针,unique_ptr.shared_ptr 和 weak_ptr,同时也将 auto_ptr 置为废弃 (deprecated). 但是在实际的使用过程中,很多人都会 ...
- C++正则表达式的初步使用
正则表达式(Regular Expressions),又被称为regex.regexp 或 RE,是一种十分简便.灵活的文本处理工具.它可以用来精确地找出某文本中匹配某种指定规则的内容.从C++11开 ...
- S3C2440移植uboot之启动过程概述
上节烧写了uboot到开发板,不能运行.这节我们分析uboot重新编译uboot,由最后一条链接命令开始分析uboot 目录 1.分析start.S 2._start会跳转到start_code处 ...
- freeswitch on centos dockerfile模式
概述 freeswitch是一款简单好用的VOIP开源软交换平台. centos7 docker上编译安装fs的流程记录,本文使用dockerfile模式. 环境 docker engine:Vers ...
- sublime_text4 2023最新版 激活教程
官网 Sublime HQ - Remarkable Software 东西在教学的时候还是挺好用的,就是要付费购买,穷,没钱 买不起,自己动手丰衣足食. 下载安装包 我现在最新版是4.4152 下面 ...
- Oracle数据库学习总结
SQL 笔记 ch3_cn 1.数据类型记录 char(n) 定长字符 varchar(n) 可变长字符 numeric(p,d) 定点数,总位数p,小数点后位数q float(n) n位浮点数 2. ...