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的方式: ...
随机推荐
- Linux SVN安装
step1:检查是否已经安装Svn Server. svnserve --version step2:执行安装 step3:创建代码仓库 进入对应目录: 说明: conf:配置文件 db:数据存储文件 ...
- git排除插件(.ignore)配置
# Created by .ignore support plugin (hsz.mobi) ### Maven template target/ ### JetBrains template # C ...
- Django-0-环境搭建、创建项目、启动服务
1- 创建虚拟环境名称(在虚拟机中) mkvirtualenv -p /usr/bin/python3 envname (/usr/bin/python3 - 你自己在虚拟机中的Python解释器 ...
- WPF软件开发系统之五——展会展厅触摸屏企业产品宣传展示系统
本系统开发背景:上海展会多点触摸大屏(60寸以上)上互动展示. 功能包括:企业背景.产品.合作伙伴.所获荣誉等以图片.文字.视频多媒体的方式呈块状显示,亮点功能为支持多点操作去旋转.缩放.拖拽呈现各种 ...
- June. 26th 2018, Week 26th. Tuesday
No affection but interests can be found in the world of animals. 在动物的世界里,只有利益,没有感情. From Animal Worl ...
- WPF 控件之 Popup
1.经常使用属性说明 IsOpen: 布尔值,指示 Popup 控件是否显示 StaysOpen: 布尔值,指示在 Popup 控件失去焦点的时候,是否关闭 Popup 控件的显示 PopupAnim ...
- # 20175329 2018-2019-3 《Java程序设计》第九周学习总结
20175329 2018-2019-3 <Java程序设计>第九周学习总结
- mange
from flask import Flask app = Flask(__name__) manager = Manager(app) 1. 重写Command class ShellCommand ...
- vue省市区三级联动
仿照小米之家做的一个省市区三级联动,先上代码: HTML: <template> <section class="myAddress"> <secti ...
- setInterval的简单理解和实验
setInterval的用法 setInterval(fn_name,time_num); setInterval(fn_name,time_num,这里是函数参数); 意思是,现在不执行fn_nam ...