[英]Spring Boot autowire @ManagedResource
在Spring Boot中是否可以自动连接@ManagedResource标记的对象。 我正在尝试这样做,但是object为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。 但是当我尝试自动连接该对象以使用其属性时,我得到的是null :
@Component
public final class Consumer {
@Autowired
MyMBean mBean; // is null
...
}
如果未正确定义配置,则@Autowired
对象可能不会初始化。 春季扫描指定包中的托管组件。 我假设您在Spring Boot主类上具有@ComponentScan
批注。 如果您的主应用程序类在根包中,则可以使用@ComponentScan
批注,而无需指定basePackage属性。 否则,您需要指定基本软件包属性。 您需要指定类似于以下内容的basePackage属性:
@ComponentScan("<your_package_to scan_for beans>")
同样, @EnableAutoConfiguration
批注通常放置在主Spring Boot应用程序类中。 这隐式定义了用于搜索组件的基本包。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.