Artykuł ten nawiązuje do poprzedniego wpisu, który dotyczy pliku właściwości application.properties. Dziś wpis dotyczący profili, czyli mechanizmu, który pomoże nam pracować z różnymi danymi. Możemy zdefiniować różne właściwości w zależności np. od tego na jakim środowisku chcemy pracować.
Tworzenie plików profilowych odbywa się poprzez dodanie pliku:
application-{profil}.properties
do naszego folderu z właściwościami, w moim przypadku jest to folder resources/config.
Załóżmy, że mamy dwa środowiska:
- production
- development
Na środowisku development wykorzystujemy bazę H2, która idealnie nadaje się do testowania i rozwoju aplikacji. Natomiast środowisko production wykorzystuje bazę MongoDB. W takim przypadku tworzymy dwa oddzielne pliki dla każdego profilu:
application.properties application-development.properties application-production.properties
Wyobraźmy sobie to jako klasy: application.properties jest to klasa bazowa, czyli są w niej właściwości, które chcemy, aby były propagowane w dół, czyli do naszych plików z konkretnymi profilami. Następnie pliki development oraz production są naszymi specyfikowanymi klasami, czyli są to pliki, które mają unikalne wartości.
Pliki te korzystają z właściwości, która odnosi się do bazy danych. Ustawiamy odpowiednie wartości:
application.properties
my.app.name = CodeCouple
application-development.properties
database.url = your_development_url_here
application-production.properties
database.url = your_production_url_here
Teraz z linii komend uruchamiamy naszą aplikację ustawiając interesujący nas profil:
-Dspring.profiles.active=development
Uruchomimy naszą aplikację z profilem development, który posiada w sobie URL do naszej bazy testowej. Uruchomiają się również właściwości zawarte w pliku nadrzędnym, czyli application.properties. Możecie teraz tworzyć własne profile dla odpowiednich aplikacji uniezależniając się od innych środowisk.