模块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")注解,指定扫描的包路径
模块A引入模块B ,但是模块B的bean一直注入不进来原因: A模块的Application是在com.xx.xx包下,那么势必只能扫描到这个包下的bean, B模块的Application是在com.xxx包下,那么在A引入B以后就A就肯定扫描不到他上层包的bean解决办法:1.将A模块和B模块的Application置于相同路径下,例如com.xx下(只是名称一致,不是真的在同一包...
SpringBoot
+
Maven
子
模块
导入其他子
模块
的
Bea
n
在启动类中导入@
Component
Scan(basePackages = {“cn.upzy.server”})
@
SpringBoot
Application
@EnableEurekaClient
@
Component
Scan(basePackages = {"cn.upzy.server"})
@MapperScan("cn.upzy.server.mapper")
public class SystemApplication {
模块
A
引入
模块
B ,但是
模块
B的
bea
n一直注入不进来,经过一番查验之后发现,
A
模块
的Application是在com.xxx.family包下,那么势必只能
扫描
到这个包下的
bea
n,
B
模块
的Application是在com.xxx包下,那么在A
引入
B以后就A就肯定
扫描
不到他上层包的
bea
n了...
问题
背景:从gitlab clone项目到本地之后,用idea打开
时
发现
pom
.xml中的依赖
无法
识别。
例如,
pom
中已经配置了lombok,但是
无法
使用相关的注解(例如,@Data)。
解决方法:
右击
pom
.xml,选择Add as
Maven
Project即可。
pom
中的依赖会自动下载,之后就可以使用相关的jar包。
SpringBoot
多
模块
项目中
无法
注入其他
模块
中的
spring
bea
n
在
一个
springboot
项目中年建了
一个
common
模块
,
一个
admin
模块
,
在admin
模块
中
引入
common
模块
依赖,发现
无法
注入common
模块
中的
bea
n,idea提示
无法
找到
bea
n。
瞎忙活一晚上,最后发现是两个
模块
路径不同意,
一个
是com.example.common,另
一个
是com.example.admin。最后都改成com.example就好了。
总之就是多
模块
项目中各个
模块
的路径要一样。
关于
SpringBoot
Application
扫描
不到其他
模块
下的
bea
n
问题
(已解决)
在现在的很多项目中,大多是用
maven
做多
模块
,分包管理,但是有
时
候遇到其他
模块
是没有启动类的,但是有的
bea
n是需要注入的,此
时
需借助其他
模块
的启动类来注入
bea
n。
解决
问题
之前的代码结构
在上述图片中,common
模块
中的RedisCommonUtil使用到了@
Component
注解,就表示需要加入到
spring
bea
n容器中。
注意:请仔细看启动类的存放位置,在
spring
security-demo
模块
中
我们再添加另一项目的
maven
依赖后发现仍然不起作用,在对
引入
该jar包的项目进行编译
时
会出现“找不到程序包”的错误。这是由于一般作为jar包被
引入
其他项目,说明是公共
模块
代码,不需要单独部署。此
时
应该将该项目的
pom
.xml中如下内容去掉:
<build>
<plugins>
<!--被
引入
的
spring
boot jar 包不能
引入
此plugin ,否则
引入
此jar包的项目编译
时
会报 找不到程序包 的错误-->
<!--<plugin>
引用的资料提到了关于
Spring
Boot项目中出现
spring
-boot-
maven
-plugin报错的情况。根据引用中的描述,该错误通常是由于项目中存在多个war
模块
引起的。解决这个
问题
的方法是将插件的配置进行修改,具体方法可以参考引用中的示例代码。
在修改插件的配置后,如果控制台仍然没有显示对应的数据,可能是因为使用了该插件后,项目不再使用自定义的配置。针对这种情况,可以根据引用中的解决方案进行调整。
请注意,以上是根据提供的引用内容给出的回答。如果您需要更具体的帮助,请提供更多相关信息。