springboot多模块包扫描问题的解决方法_java

来源:脚本之家  责任编辑:小易  

你直接用<context:component-scan base-package="*"/>不就好了;不过还是要养成良好的编码习惯,用分层的包结构不是更好也更美观么www.zgxue.com防采集请勿采集本网。

问题描述:

创建两个项目 1. cdai_codebase_parent:其他项目的Maven配置都继承这个项目中pom.xml的定义。 2. cdai_codebase_ssh:一个SSH示例项目,继承parent项目

springboot建立多个模块,当一个模块需要使用另一个模块的服务时,需要注入另一个模块的组件,如下面图中例子:

这几天一直被这个问题困扰,Spring boot启动没报错,就是扫描不到需要注册的类。今天终于发现,Spring boot的启动类需要放在需要扫描类的上层目录,这样才能

在这里插入图片描述

在这里插入图片描述

memberservice模块中的MemberServiceApiImpl类需要注入common模块中的RedisService组件,该怎么注入呢?

说明你的spring boot启动时的application类不在io.github.gefangshuai.app及其子包下。 SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从

解决:

在memberservice模块的启动类上加上RedisService类所在包的全路径的组件扫描,就像这样:

说明你的spring boot启动时的application类不在io.github.gefangshuai.app及其子包下。 SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从

在这里插入图片描述

注意启动类上方的注解@ComponentScan(basePackages={“com.whu.commom.redis”}),这一句实际上就已经加上了RedisService的组件扫描,但是这样做是有问题的,我发现启动后服务不能正常访问。查找资料后发现是因为@ComponentScan 和@SpringBootApplication注解的包扫描有冲突,@ComponentScan注解包扫描会覆盖掉@SpringBootApplication的包扫描。解决办法就是在@ComponentScan(basePackages={“com.whu.commom.redis”})的基础上加上@SpringBootApplication扫描的包,那么@SpringBootApplication扫描了哪些包呢?实际上,它默认扫描的是启动类所在的包及其子包,所以我的例子上需要改成@ComponentScan(basePackages={“com.whu.commom.redis”,“com.whu.memberservice”}). OK ,结束!!

你改了哪个的groupId,artifactId? 没有改动的内容,怎么知道你pom文件写没写错。。。 如果pom文件没写错,可以右键 maven-》reimport 试试

到此这篇关于springboot多模块包扫描问题的解决方法的文章就介绍到这了,更多相关springboot多模块包扫描内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)springboot+thymeleaf+druid+mybatis 多模块实现用户登录功能Idea中SpringBoot多模块项目的建立实现SpringBoot多模块项目框架搭建过程解析解决SpringBoot多模块发布时99%的问题springboot+gradle 构建多模块项目的步骤SpringBoot+Maven 多模块项目的构建、运行、打包实战springboot 多模块将dao(mybatis)项目拆分出去SpringBoot创建maven多模块项目实战代码浅谈springboot多模块(modules)开发

不是配置文件有作用2113域,是配置5261文件对应的applicationContext实例有作用域。你可4102以看看这篇文章关于双亲上下文那段1653http://blog.csdn.net/goalstar/article/details/7627743内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 实例讲述java io文件复制
  • 简单探索 java 中的惰性计算
  • java io流对象的序列化和反序列化实例详解
  • java collections集合继承结构图_动力节点java学院整理
  • 谈谈java利用原始httpurlconnection发送post数据
  • java逃逸分析详解及代码示例
  • 学习非阻塞的同步机制cas
  • java基本教程之常用的实现多线程的两种方式 java多线程教程
  • springboot2.0 整合 springsecurity 框架实现用户权限安全管理方
  • java 压缩和解压缩zip、jar、gzip文件实例代码
  • JAVA ,spring的配置文件里已经配置了自动扫描包&l...
  • Spring里面自动扫描的包路径问题
  • mybatis 配置mapperLocations 不能扫描java包 只能...
  • @SpringBootApplication扫描哪些包
  • 解决SpringBoot 不继承父 parent 打包不包含依赖的...
  • spring boot启动不扫描创建bean怎么回事
  • springboot 只能扫描一个view吗
  • spring boot启动不扫描创建bean怎么回事?
  • Springboot中Maven项目加载架包问题?
  • Springboot 启动异常,我是用jar方式启动,idea没...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)springboot+thymeleaf+druid+mybatis 多模块实现用户登录功能idea中springboot多模块项目的建立实现springboot多模块项目框架搭建过程解析解决springboot多模块发布时99%的问题springboot+gradle 构建多模块项目的步骤springboot+maven 多模块项目的构建、运行、打包实战springboot 多模块将dao(mybatis)项目拆分出去springboot创建maven多模块项目实战代码浅谈springboot多模块(modules)开发实例讲述java io文件复制简单探索 java 中的惰性计算java io流对象的序列化和反序列化实例详解java collections集合继承结构图_动力节点java学院整理谈谈java利用原始httpurlconnection发送post数据java逃逸分析详解及代码示例学习非阻塞的同步机制casjava基本教程之常用的实现多线程的两种方式 java多线程教程springboot2.0 整合 springsecurity 框架实现用户权限安全管理方java 压缩和解压缩zip、jar、gzip文件实例代码java使double保留两位小数的多方java8 十大新特性详解intellij idea 2020最新激活码(亲java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法javaweb实现文件上传下载功能实例java8 stream对两个 list 遍历匹配数据的详解java中的lambda表达式导出maven项目依赖的jar包(图文教程)新手学习java对redis简单操作10道springboot常见面试题浅谈java8对字符串连接的改进正确姿势浅谈java面向对象中四种权限springboot项目中处理返回json的null值(sspring+springmvc+mybatis深入学习及搭建详解java编程中线程同步以及定时启动线程
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved