java - Spring启动自动配置

标签 java spring spring-boot autowired

在我的用例中,我有 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/

相关文章:

java - 没有@Entity的 hibernate 存储库

java - 字母数字和特殊字符 RegEx 8-32 位

java - 如何在 Java 中舍入一个小的负 double 以不导致负零

java - springframework 版本 5.0.5.RELEASE 由 : java. lang.NoClassDefFoundError 引起:org/springframework/core/task/AsyncListenableTaskExecutor

java - Spring Boot 应用程序执行器端点已注册且请求仍然失败

java - XML/REST Spring Web 服务中未考虑 @XmlElementWrapper

spring-mvc - Spring Boot 2 + Webjars + Bootstrap + Thymeleaf = 未应用主题

java - 如何将文件路径传递给远程 Web 服务

spring - Kotlin 和 Spring Boot @ConfigurationProperties

java - Spring JSP 重定向