【问题标题】:spring boot @Autowired a bean from another modulespring boot @Autowired 来自另一个模块的 bean
【发布时间】:2018-04-26 13:02:17
【问题描述】:

我的问题是如何将包添加到我的组件列表中以扫描 @ComponentScan(basePackages = {"io.swagger", "com.company.project", like add it here }),但这个包是在我项目的另一个模块中,

这是我的项目的结构:

springbootProject(maven项目)/

  module1(mavenProject, com.company.module1)
       pom1.xml

  module2(mavenProject, com.company.module2)
       pom2.xml

pom.xml

在模块 2 中,我有我的主要 (@SpringbootAplication),我想在其中 @Autowired myRepository 女巫在模块 1 中

那么我该如何添加路径

【问题讨论】:

  • ComponentScan 不限于使用的模块。它在 Spring 上下文初始化期间扫描整个类路径

标签: spring-boot spring-ioc


【解决方案1】:

在ModuleA上导入ModuleB,就可以使用了。

Project
|__ Module A (com.test.a)
|__ Module B (com.test.b)

在 ModuleA 的 pom.xml 中,添加:

<dependency>
  <groupId>com.test</groupId>
  <artifactId>b</artifactId>
  <version>1.0</version>
</dependency>

那么你应该可以添加:

@ComponentScan(basePackages = {"com.test.b"})

【讨论】:

  • 是的,你说得对,但我的意思是,主类(有 @SpringBootApplication 的地方)将如何扫描模块女巫
  • 我们应该把@ComponentScan 放在哪里?
猜你喜欢
  • 2017-04-22
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 2018-07-24
  • 2021-03-01
  • 2017-10-11
  • 1970-01-01
相关资源
最近更新 更多