Cześć
Potrzebuje w serwisie mieć string który muszę pobrać z application.properties. Jaki jest najlepszy sposób na zrobienie tego? wiadomo, że @Value odpada
Jak byście to rozwiązali?
Dlaczego value odpada?
Użyj configuration properties i wrzuć obiekt z konfiguracją do serwisu
https://www.baeldung.com/configuration-properties-in-spring-boot
welik2 napisał(a):
wiadomo, że @Value odpada> Jak byście to rozwiązali?
Skąd taka opinia?
Można użyć jakiejś nie sparingowej biblioteki do czytania konfiguracji. Np https://github.com/lightbend/config
KamilAdam napisał(a):
Można użyć jakiejś nie sparingowej biblioteki do czytania konfiguracji. Np https://github.com/lightbend/config
Tak bez żadnej małpki ? Kodem ?
XIX w, dwóch rabinów ogląda budowę linii kolejowej w Leżajsku czy Bobowej. Z zainteresowaniem oglądają wielką ciężką szynę, wiodący produkt XIX technologii ... po kilku chwilach widzimy ich w namiętnej rozmowie
... chór Serafinów by mógł ją podnieść
... Nie, Ale Eliasz by mógł sprawić swoją mocą i by się uniosła ...
Po pewnym czasie kilku robotników podchodzi z długimi chwytakami, podrywa szynę i przenośi.
Obaj rabini zniesmaczeni "eeee ... siłą ?!?!?"
Dlaczego @Value
odpada? Jeśli przeszkadzają Ci adnotacje w domenie to możesz coś takiego zrobić:
class SomeService {
SomeService(String props) {
...
}
}
@Configuration
class AppConfiguration {
@Bean
SomeService someService(@Value("myProp) String myProp) {
return new SomeService(myProp);
}
}
Pokombinować ze Spring configuration i wstrzykiwać przez @Value
Skąd to będzie wrzucane, to już twój wybór. Zmienne środowiskowe, spring configuration serwer, plik. Możesz nawet mieć to wszystko razem i tylko ustalić kolejność która wartość jest ważniejsza (nadpisuje) którą. Skąd konkretnie to chcesz mieć, to już kwestia tego jak planujesz robić deployment. Dla kontenerów dość wygodne są zmienne środowiskowe.