在我的用例中,我有 2 个项目,其中项目 A 和项目 B 将项目 B 添加为项目 A 中的 Maven 依赖项。我试图从projectA 调用projectB 服务。 为此,我在projectB中创建了一个配置类:
@Configuration
public class BeanConfig {
@Bean
@ConditionalOnMissingBean
public MyService<String, Object> myBean(){
return new MyServiceImpl();
}
}
在 MyServiceImpl 中,我正在 Autowiring MyDao。 错误是它无法为 MyDao 创建 bean。
如果我在下面的projectA 主类中提到。
@SpringBootApplication(scanBasePackages = { "org.my.service" })
一切都运行良好。
如何在项目A中不提及基础包的情况下创建Bean?
最佳答案
您正在实例化 MyServiceImpl
return new MyServiceImpl();
所以 Spring 无法 Autowiring 此类中的任何内容。
这与您的多模块项目无关。
要么使用 Autowiring ,要么必须在配置方法中的服务类上设置 DAO。
关于java - Spring启动自动配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52331686/