В нашем проекте мы не используем инъекцию сеттера или файла, мы используем только инъекцию конструктора, и я знаю, что оба варианта 1. и 2. могут работать.
- Небезопасно работать с бинами в конструкторе в таком случае?
Или весенняя загрузка 2+ что-то делает, и мне лучше использовать вариант 1. вместо 2. Я не могу представить случай, когда вариант 1 пойдет не так.
@Component
@ConfigurationProperties("config")
public class ServiceConfigProperties {
// .... some code
}
- Может быть небезопасно? - но выглядит лучше
@Component
public class Service {
private boolean skipCheck;
public Service(ServiceConfigProperties configProps) {
this.skipCheck = configProps.isSkipCheck();
}
}
- Не может быть небезопасно?
@Component
public class Service {
private boolean skipCheck;
private ServiceConfigProperties configProps;
public Service(ServiceConfigProperties configProps) {
this.configProps= configProps;
}
@PostConstruct
public void initConfig() {
this.skipCheck= configProps.isSkipCheck();
}
}