【发布时间】:2018-02-17 23:40:28
【问题描述】:
我有一个项目 (project1),其中包含使用 @component 声明的 bean,并且使用应用程序上下文我能够访问这些 bean。现在有另一个项目(spring boot project-project2),我使用这个project1作为依赖项。 我正在尝试使用自动装配注释访问 project1 的 bean,但它为 bean 和应用程序上下文抛出空指针异常。如何访问 project1 的应用程序上下文,它可以访问我的项目中的这些 bean,以便我可以使用自动装配的应用程序上下文和访问 project2 中 project1 的 bean 知道出了什么问题以及为什么自动装配不起作用。
谢谢
【问题讨论】:
-
两个项目包是否都配置为在 project1 中扫描? (@ComponentScan)
-
@ComponentScan 是在 project1 的类上的注释。还需要在哪里声明?我需要在 project2 中使用 project1 bean
-
那么在 project2 中的 componentscan 注解必须同时具有 project2 和 project1 基础包。就像 project2 有基础包 "a.b.c" 并且 project1 有 x.y.z project2 componentscan 注释必须是 @ComponentScan(basePackages={"a.b.c","x.y.z"})
-
设置了这些值,但仍然无法获取 bean
-
我需要在 post 构造方法中获取 bean。它在那里工作正常。
标签: java spring-mvc spring-boot spring-batch