java - 无法 Autowiring 。找不到 'MessagingPropertiesRefactor' 类型的 bean

标签 java spring-boot autowired spring-bean

我看到了与此问题相关的其他问题,但没有一个对我的问题有实际帮助。

我在我的测试类中定义了这两个属性。

  @Autowired  
  private MessagingProperties messagingProperties;

  @Autowired
  private MessagingPropertiesRefactor messagingPropertiesRefactor;

我正在尝试创建新版本的 MessagingProperties.java。我基本上复制了此类并创建了一个新文件 MessagingPropertiesRefactor.java(相同的包/目录)并粘贴了相同的代码。我更改了类定义等,但大部分都是一样的。

我收到一个 IntelliJ 设计时编译器错误,指出“无法 Autowiring 。没有找到 'MessagingPropertiesRefactor' 类型的 bean。”

然后我搜索了原始类的每一个用法,以仔细检查它是否已在某处声明,但我一无所获。

我是 Java(和 Spring)的“新手”。有人遇到过同样的问题吗?

最佳答案

如果您的新类 MessagingPropertiesRefactor 未使用 @Component 注释,您必须在 beans.xml 中声明它,如下所示:

<beans>
    <bean name="messagingPropertiesRefactor" class="com.package.path.MessagingPropertiesRefactor"/>
</beans>

或者在你的 AppConfig.java 中这样:

@Configuration
public class AppConfig {
    @Bean
    public MessagingPropertiesRefactor messagingPropertiesRefactor() {
        return new MessagingPropertiesRefactor();
    }
}

Source Reference

关于java - 无法 Autowiring 。找不到 'MessagingPropertiesRefactor' 类型的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47682618/

相关文章:

spring-boot - SpringBoot JPA错误

php - Symfony 4 不 Autowiring 动态路由 Controller

java - 在 WebSphere 中注入(inject) spring 资源失败

java - 注入(inject) Autowiring 的依赖项失败;无法 Autowiring 字段

java - 点其他编码而不是UTF-8

java - 使用环境变量 spring boot 在 dynamo db 中动态设置全局二级索引名称

spring - 在 Webflux WebFilter 的最后执行一些逻辑

java - Spring:@Component 与 @Bean

java - 是否可以创建一个函数来将对象插入队列?使用java.util.Scanner?

java - 使用 Ajax 和 Java 检索用户名和密码的问题