Profile w Spring Boot


Profile w Spring Boot

Profilowanie to mechanizm, który na podstawie jednej wersji kodu źródłowego aplikacji umożliwia tworzyć jej różne wersje. Główna konfiguracja zawarta jest w pliku application.properties. Przejdźmy do testowania profili. Utwórzmy nowy projekt Spring Boota gdzie w katalogu ./resources powinny znaleźć się oprócz application.properties dodatkowe pliki:

application.properties:

spring.profiles.active = dev
server.port = 8081
spring.application.name = master profile

application-dev.properties:

spring.application.name = dev profile

oraz:

application-prod.properties:

spring.application.name = prod profile

W głównym pliku – application.properties zamieszczamy informacje o tym który profil jest aktywny. Wartości które są wpisane w tym profilu są obowiązujące, ale jeśli zostaną nadpisane w innym profilu który jest obecnie aktywny to nie mają zastosowania. Oznacza to, że nadpisane wartości w aktualnie aktywnym profilu mają pierwszeństwo.

Utwórzmy kontroler typu REST do testów:

@RestController
public class RestControllerProfileTest {
 
    @Value("${spring.application.name}")
    private String appName;
 
    @GetMapping("/app")
    public String getInjectedValue() {
        return appName;
    }
}

Aplikacja startuje na porcie 8081:

2019-10-09 11:49:36.651  INFO 1280 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8081 (http)

Wynik po wejściu na adres:

http://localhost:8081/app

to:

dev profile

Drugą opcją na ustawienie profilu który ma być obecnie aktywny jest dodanie tej informacji:

-Dspring.profiles.active=dev

do parametrów maszyny wirtualnej. Z poziomu Intellij Idea robimy to w następujący sposób:

Jeśli są ustawione dwie opcje czyli jest dodany parametr do VM z poziomu Intellij Idea oraz w pliku application.properties jest wpis który ustawia aktywny profil to priorytet ma parametr dodany do VM.

Zobacz kod na GitHubie i zapisz się na bezpłatny newsletter!

.

Zobacz też film na YouTube!

Niektóre informacje mogą być przesyłane do Użytkownika w postaci tzw. pliku cookie zapisywanego w pamięci urządzenia Użytkownika. Używamy informacji zapisanych za pomocą cookies i podobnych technologii m.in. w celu personalizowania serwisu dla Użytkownika, w celach reklamowych i statystycznych oraz w celu dostosowania naszych serwisów do indywidualnych potrzeb użytkowników. Mogą też stosować je współpracujące z nami firmy badawcze. Użytkownik może w każdej chwili zablokować akceptację plików cookie ale może to spowodować utrudnienia w korzystaniu z naszych serwisów internetowych. W programie służącym do obsługi internetu można zmienić ustawienia dotyczące akceptacji cookies.


Leave a comment

Your email address will not be published.


*


Ta strona wykorzystuje pliki cookie. Używamy informacji zapisanych za pomocą plików cookies w celu zapewnienia maksymalnej wygody w korzystaniu z naszego serwisu. Mogą też korzystać z nich współpracujące z nami firmy badawcze oraz reklamowe. Jeżeli wyrażasz zgodę na zapisywanie informacji zawartej w cookies kliknij na „akceptuję". Jeśli nie wyrażasz zgody, ustawienia dotyczące plików cookies możesz zmienić w swojej przeglądarce. kliknij po więcej informacji

Ta strona wykorzystuje pliki cookie. Używamy informacji zapisanych za pomocą plików cookies w celu zapewnienia maksymalnej wygody w korzystaniu z naszego serwisu. Mogą też korzystać z nich współpracujące z nami firmy badawcze oraz reklamowe. Jeżeli wyrażasz zgodę na zapisywanie informacji zawartej w cookies kliknij na „akceptuję". Jeśli nie wyrażasz zgody, ustawienia dotyczące plików cookies możesz zmienić w swojej przeglądarce.

zamknij