gpt4 book ai didi

java - Spring Boot Autowiring @ManagedResource

转载 作者:行者123 更新时间:2023-11-30 06:31:31 24 4
gpt4 key购买 nike

在 Spring Boot 中是否可以 Autowiring 由 @ManagedResource 标记的对象。我正在尝试这样做,但对象为 null

例如:

@Component
@ManagedResource(objectName = MyMBean.MBEAN_NAME)
public class MyMBeanImpl implements MyMBean {
private String attribute;

@Override
@ManagedAttribute(description="some attribute")
public void setAttribute(String attribute) {
this.attribute = attribute;
}
}

Spring 创建适当的 MBean。但是当我尝试 Autowiring 此对象以使用其属性时,我得到 null:

@Component
public final class Consumer {
@Autowired
MyMBean mBean; // is null
...
}

最佳答案

如果您的配置未正确定义,@Autowired 对象可能无法初始化。 Spring 扫描指定包中的托管组件。我假设您的 Spring Boot 主类上有 @ComponentScan 注释。如果您的主应用程序类位于根包中,则可以使用 @ComponentScan 注释,而无需指定 basePackage 属性。否则,您需要指定基本包属性。您需要指定类似于以下内容的 basePackage 属性:

@ComponentScan("<your_package_to scan_for beans>")

此外,@EnableAutoConfiguration 注释通常放置在主 Spring Boot 应用程序类上。这隐式定义了一个用于搜索组件的基础包。

关于java - Spring Boot Autowiring @ManagedResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46005135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com