Wiem, że to powinno być bułka z masłem, ale po prostu nigdzie się nie dostaję.Jak mogę użyć właściwości YAML z wtyczką konstruktora w Spring Boot?
W moim wiosennym Boot aplikacji w pliku application.yml mam wpis tak:
some:
constructor:
property: value
I mam usługę sprężyny (to jest fałszywy, ale demonstruje problem):
package somepackage;
@Service
public class DummyService {
public DummyService(@Value("${some.constructor.property}") String path) {}
}
Startup nie powiedzie się, jeśli:
org.springframework.beans.factory.BeanCreationException: błąd tworzenie komponentu bean o nazwie "dummyService" zdefiniowanego w pliku [... (plik klasy ) ...]: Nie udało się utworzyć instancji komponentu bean; Zagnieżdżony wyjątek to org.springframework.beans.BeanInstantiationException: Nie powiodło się tworzenie instancji [somepackage.DummyService]: Nie znaleziono domyślnego konstruktora; wyjątek zagnieżdżonych jest java.lang.NoSuchMethodException. somepackage.DummyService()
Jak mogę przekonać Wiosna, że powinien użyć konstruktora niepusty, i powinien dostać ten parametr konstruktora z pliku YAML? Uwaga: Nie używam żadnych plików konfiguracyjnych komponentu bean XML ani niczego innego i wolałbym tego nie robić.
Ah, ja @Autowired w niewłaściwym miejscu. Dziękuję bardzo. – user1953555