DienstSpring Wert Annotation funktioniert nicht in Konstruktorargument
@Service
class Foo{
Foo(@Value("${my.property}")int delay){
...
}
}
Consumer
class Bar {
@Autowire
Foo foo;
}
beans.xml
<context:component-scan base-package="foo.*" />
<context:spring-configured />
<context:property-placeholder location="classpath:foo/internal.properties"/>
internal.properties
enthält my.property=5000
. Aber es scheint, als ob der Frühling sich nicht einmal um die @Value
Annotation kümmert. Wenn ich die Anwendung starte, beschwert sich Spring darüber, dass kein Standardkonstruktor gefunden wurde.
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [foo.Foo]: No default constructor found; nested exception is java.lang.NoSuchMethodException...
Ich habe sogar versucht, den Parameter in beans.xml mit dem constructor-arg
Tag zu konfigurieren. Diese Methode erzeugt den gleichen Fehler.
Warum funktioniert die Werteingabe nicht?
Große Informationen über nicht benötigen '@ Autowired' für einzelne Konstruktor Klasse
Von Frühling 4.3 wir nicht mehr benötigen, die
@Autowired
Anmerkung angeben, ob das Ziel Bean. –