Java Portal | Программирование
Фотография
нажмите — покажем
нажмите — покажем
Если нужно внедрить сгруппированные конфигурационные параметры в классы, можно использовать аннотацию @ConfigurationProperties вместо @Value
@Value обычно применяют для внедрения отдельных свойств:
@Value("${app.name}")
private String appName;
@ConfigurationProperties лучше подходит для более сложных, сгруппированных настроек:
email:
host: smtp.example.com
port: 587
username: [email protected]
password: secret
@Component
@ConfigurationProperties(prefix = "email")
public class EmailProperties {
private String host;
private int port;
private String username;
private String password;
// геттеры и сеттеры
}
@Service
public class EmailService {
private final EmailProperties emailProperties;
public EmailService(EmailProperties emailProperties) {
this.emailProperties = emailProperties;
}
}
👉 Java Portal
19 · 3.8K ·