So che questo dovrebbe essere un pezzo di torta, ma non sto arrivando da nessuna parte.Come posso utilizzare le proprietà YAML con l'iniezione del costruttore in Spring Boot?
Nella mia Primavera di avvio applicazione, nel file application.yml, ho una voce in questo modo:
some:
constructor:
property: value
E io avere un servizio di primavera (questo è falso, ma dimostra il problema):
package somepackage;
@Service
public class DummyService {
public DummyService(@Value("${some.constructor.property}") String path) {}
}
avvio non riesce, però:
org.springframework.beans.factory.BeanCreationException: Errore creazione di bean con nome 'dummyService' definito nel file [... (il file classe ) ...]: Instantiation of bean failed; l'eccezione annidata è org.springframework.beans.BeanInstantiationException: Impossibile instantiate [somepackage.DummyService]: Nessun costruttore predefinito trovato; eccezione annidata è java.lang.NoSuchMethodException:. somepackage.DummyService()
Come posso convincere primavera che dovrebbe utilizzare il costruttore non vuoto, e dovrebbe ottenere che il parametro del costruttore dal file YAML? Nota: non sto usando alcun file di configurazione del bean XML o altro, e preferirei non farlo.
Ah, avevo @Autowired nel posto sbagliato. Grazie mille. – user1953555