Adnotarea @Profile permite segmentarea configurărilor, a conexiunilor la baze de date și a serviciilor externe în funcție de mediul în care rulează aplicația (dezvoltare locală, mediu de testare integrat sau producție).
Un bean adnotat cu @Profile("prod") va fi înregistrat în containerul Spring numai dacă profilul prod este activat (de exemplu prin parametrul JVM -Dspring.profiles.active=prod sau variabila de mediu SPRING_PROFILES_ACTIVE=prod).
Exemplu: Servicii activate pe baza profilului curent
package ro.dexblog.demo.service;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
public interface MailDeliveryService {
void sendEmail(String to, String message);
}
@Service
@Profile("dev")
public class MockMailDeliveryService implements MailDeliveryService {
@Override
public void sendEmail(String to, String message) {
// În dev scriem în consolă fără a trimite emailuri reale
System.out.println("[DEV MOCK EMAIL] Către: " + to + " | Mesaj: " + message);
}
}
@Service
@Profile("prod")
public class SmtpMailDeliveryService implements MailDeliveryService {
@Override
public void sendEmail(String to, String message) {
// În producție trimitem prin server SMTP real
System.out.println("[PROD SMTP] Expediere prin Amazon SES către: " + to);
}
}
Întrebări & Exemple de Cod:
Adnotarea @Profile în Spring BootAi o nelămurire despre utilizarea comenzii
Adnotarea @Profile în Spring Bootsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.