mariusz-laszczka
#springboot #spring #java
Jak najlepiej wstrzyknąć do springa propertas z application.properties tak by móc go używać w metodach?
Mam klasę:

public class MojaKlasa(){
@Value("${sciezka.do.pliku}")
private String sciezka;
private String getPath() {

Properties propertiesFromFile= loadPropertiesFromFile(sciezka);
return costam;
}
}
Gdy próbuję przekazać zmienną "sciezka" do metody która mi pobierze propertisy z pliku - mam błąd że zmienna sciezka może nie być zainicjalizowana.
Jakby co - ta ścieżka nie jest ścieżką do moich propertiesów, tylko do jakiegoś pliku na serwerze.
1
  • Najlepsze
  • Wszystkie komentarze
S.....s
S.....s
@mariusz-laszczka: ja bym zrobił klasę na propertiesy, taką @ConfigurationProperties
1
Elleshar
Elleshar
@mariusz-laszczka
Możesz spróbować typu Environment, np.

@Autowired
private Environment
1
mariusz-laszczka
@fegwegw: Kurcze, przez pół godziny się nie zorientowałem że tak to nazwałem. dzięki za pomoc!
1
fegwegw
0
srgs
srgs
  • adult
Treść przeznaczona dla osób powyżej 18 roku życia...
0
mariusz-laszczka
@fegwegw: @SuppressWarnings: @srgs: To jest zwykły prosty String, tylko nie mogę go nigdzie przekazać.

Jak sobie w tej mojej metodzie zrobię System.out.println(sciezka); to nie wywala mi się na kompilacji, natomiast jak chcę tą zmienną przekazać do innej metody to już jest problem i świeci na czerwono
0
fegwegw
natomiast jak chcę tą zmienną przekazać do innej metody to już jest problem i świeci na czerwono


@mariusz-laszczka: wklej kod, bo wydaje mi się, że tą zmienną deklarujesz w jakimś dziwnym miejscu.
0
srgs
@mariusz-laszczka: jak to jest zwykla aplikacja springboot to powinno dzialac od razu.
dodajesz klucz
aa.bb.cc=jakas wartosc do odczytania

i mozesz usuwac tego klucza:

aa.bb.cc
0
mariusz-laszczka
0
fegwegw
@mariusz-laszczka: jak już nazywasz zmienne tak samo, to chociaż użyj this.myProperties jako argument wywołania loadProperties()
0
fegwegw
@mariusz-laszczka: IDE z pewnością podpowiadał, że typy się nie zgadzają :)
0