我看到了与此问题相关的其他问题,但没有一个对我的问题有实际帮助。
我在我的测试类中定义了这两个属性。
@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();
}
}
关于java - 无法 Autowiring 。找不到 'MessagingPropertiesRefactor' 类型的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47682618/