Ist es in Spring Boot möglich, Objekt zu autowire, das von @ManagedResource markiert ist. Ich versuche das zu tun, aber das Objekt ist null.Spring Boot Autowire @ManagedResource
Zum Beispiel:
@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;
}
}
Frühling schafft entsprechende MBean. Aber wenn ich versuche, dieses Ziel zu autowire sein Attribut zu verwenden, erhalte ich null:
@Component
public final class Consumer {
@Autowired
MyMBean mBean; // is null
...
}
** Behoben **. Das Problem war überhaupt nicht in '@ ManagedResource'. Problem war in _field injection_. _Constructor injection_ hat mein Problem gelöst. Weitere Informationen finden Sie unter [https://stackoverflow.com/questions/39890849/what-exactly-is-field- injection-and-how-to-avoid-it](https://stackoverflow.com/questions/39890849/ Was-genau-ist-Feld-Injektion-und-wie-vermeiden-es) – piphonom
Dieser Artikel kann einige Punkte klären: [http://www.baeldung.com/running-setup-logic-on-startup-in -Spring] (http://www.baeldung.com/running-setup-logic-on-startup-in-spring) – piphonom