34 springboot项目之间依赖导致bean 无法加载问题
方式一(OK)
模块A引入模块B ,但是模块B的bean一直注入不进来
原因: A模块的Application是在com.xx.xx包下,那么势必只能扫描到这个包下的bean, B模块的Application是在com.xxx包下,那么在A引入B以后就A就肯定扫描不到他上层包的bean
解决办法:
1.将A模块和B模块的Application置于相同路径下,例如com.xx下(只是名称一致,不是真的在同一包下)
2.使用@ComponentScan(value="com.xx")注解,指定扫描的包路径
3.此时@SpringBootApplication的扫描包路径已经不起作用,即便显示声明也没用(scanBasePackages)
@ComponentScan会取代@SpringBootApplication注解的scanBasePackages,
所以如果A模块的包名和B模块的包名不一致的话,要把A,B的包分别放到@ComponentScan中,
(注:这个和上面的无关)
不使用Spring boot自带的打包插件
不能使用springboot项目自带的打包插件进行打包:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
而应当使用传统项目的maven打包:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source> <!--指明源码用的Jdk版本-->
<target>1.8</target> <!--指明打包后的Jdk版本-->
</configuration>
</plugin>
</plugins>
</build>
因为springboot-maven-plugin打包的第一级目录为Boot-INF,无法引用.
并install到本地maven库中:
maven clean install
34 springboot项目之间依赖导致bean 无法加载问题的更多相关文章
- 【SpringBoot源码分析】-Bean的加载过程
-- 以下内容均基于2.1.8.RELEASE版本 在<SpringBoot启动过程的分析>系列文章中简要的对SpringBoot整体的启动流程作了梳理,但并未针对诸多细节进行分析.前面的 ...
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplication中的@EnableAutoConfiguration 2.EnableAuto ...
- 如果你还不知道如何控制springboot中bean的加载顺序,那你一定要看此篇
1.为什么需要控制加载顺序 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功 ...
- 【SpringBoot基础系列-实战】如何指定 bean 最先加载(应用篇)
[基础系列-实战]如何指定 bean 最先加载(应用篇) 在日常的业务开发中,绝大多数我们都是不关注 bean 的加载顺序,然而如果在某些场景下,当我们希望某个 bean 优于其他的 bean 被实例 ...
- Spring 系列教程之 bean 的加载
Spring 系列教程之 bean 的加载 经过前面的分析,我们终于结束了对 XML 配置文件的解析,接下来将会面临更大的挑战,就是对 bean 加载的探索.bean 加载的功能实现远比 bean 的 ...
- Spring之23:AbstractBeanFactory,Bean的加载
<spring源码之:循环依赖> AbstractBeanFactory的作用:别名管理,单例创建与注册,工厂方法FactoryBean支持. 由图我们直接的看出,AbstractBean ...
- 未能加载文件或程序集“XXXXXX”或它的某一个依赖项。试图加载格式不正确的程序。
在本机WIN7机器上的WebService部署到Win2008R2上发现错误 “/”应用程序中的服务器错误. 未能加载文件或程序集“XXXXXX”或它的某一个依赖项.试图加载格式不正确的程序. 说明: ...
- 未能加载文件或程序集“WcfService”或它的某一个依赖项。试图加载格式不正确的程序。
“/”应用程序中的服务器错误. 未能加载文件或程序集“WcfService”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息, ...
- 【Spring】详解Spring中Bean的加载
之前写过bean的解析,这篇来讲讲bean的加载,加载要比bean的解析复杂些,该文之前在小编原文中有发表过,要看原文的可以直接点击原文查看,从之前的例子开始,Spring中加载一个bean的方式: ...
随机推荐
- 如何定位“Operating system error 32(failed to retrieve text for this error. Reason: 15105)”错误中被占用的文件
之前在这篇"Operating system error 32(failed to retrieve text for this error. Reason: 15105)"博 ...
- 记录一次Orthanc dicom数据异常手动修复
问题复现场景 同一个StudyInstanceUID,对应两个不同的PatientID. 通俗讲,原本是一个病人的一次影像,却割裂成两个病人的影像,虽然两个病人不影响系统数据,但是同一个Study分别 ...
- U盘启动盘安装Windows10操作系统详解
没有装过系统的同学,总以为装系统很神秘?是专业技术人员干的事情.今天我们来看看怎么借助常用的U盘装上全新的win10系统. 准备材料: 软件软碟通,可上官网下载:https://cn.ultraiso ...
- 使用git提交代码到github,每次都要输入用户名和密码的解决方法
自从使用git提交代码到github后,发现自己使用git的功力增长了不少,但也遇到不少问题.比如,使用git提交代码到github的时候,经常要求输入用户名和密码,类似这种: 网上有这么一种解决方法 ...
- Effective C++ 第0章 copy constructor和copy assignment operator
拷贝构造函数(copy constructor)被用来以一个对象来初始化同类型的另一个对象,拷贝赋值运算符(copy assignment operator)被用来将一个对象中的值拷贝到同类型的另一个 ...
- 毕业设计(3)基于MicroPython的篮球计时计分器模型的设计与实现
前言 我们身边有不少人都喜欢看篮球比赛或者经常打篮球.说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候.最近3月5日,韦少22分帮助雷霆终结了四连败,哈登4 ...
- PHP字符串函数、常量、数组排序
PHP字符串函数.常量.数组排序 strlen() 说明:strlen(),可以统计字符串长度 用途:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时.(例如,在循环中,我们也许需 ...
- 使用原生 JS 复制文本兼容移动端 iOS & android
注意事项 使用 JS 实现复制功能并不是很难,但是有几个需要注意的地方. 首先文本只有选中才可以复制,所以简单的做法就是创建一个隐藏的 input,然后绑定需要复制的文本. 另外如果将 input 设 ...
- sonar 匿名内部类写法不推荐
今天sonar扫出一个问题, 是这样说的. 我觉得有点牵强吧. 有点个人情绪在的样子. 那Java设计这种方式干嘛?
- C# call webservice方法
https://www.cnblogs.com/Fooo/p/5507153.html