这是我的项目结构,
父项目 - > 的pom.xml (子模块核心,网络,服务)
core prj -->
pom.xml
web prj --> has core,services dependency and has ComponentScan for com.aaa.bbb
pom.xml
services prj --> has core, web dependency
pom.xml
客户项目 - > pom.xml(子模块xxx,yyy)
xxx -->
pom.xml
yyy --> has core dependency
pom.xml
xxx和yyy jars用于核心项目,战争由web项目构建。
当我在yyy项目中自动装配服务/存储库时,我正在获得服务/存储库的NPE。
任何人都可以告诉我如何从核心项目服务/存储库中自动装配yyy项目中的服务/存储库吗?
谢谢,
答案 0 :(得分:0)
为了能够从库中自动装配bean,您有两个选择:
如果您有权访问库代码(我认为这是您的情况):
1.1添加注释以标记哪个类是bean(使用@Component
,@Service
,...)
1.2在您的配置类(具有@Configuration
或@SpringBootApplication
或@ComponentScan
...的类)中,添加xxx
和yyy
项目的路径类路径
@Configuration
@ComponentScan("com.my.package.xxx,com.my.package.yyy")
public class YourApplication
如果您无权访问库代码
2.1在配置类中,创建一个@Bean
带注释的方法并在此处初始化bean。
@Bean
public XRepository getXRepository() {
return new XRepositoryImpl(); // Here is your initialization logic
}