繁体   English   中英

Spring Boot自动连线@ManagedResource

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM