Встречается на собеседованиях • сегодня

Зачем нужен @PostConstruct

@PostConstruct — аннотация, указывающая, что метод должен быть выполнен после внедрения зависимостей (DI) и перед использованием бина. Это аналог конструктора, но с гарантией, что все зависимости уже проинициализированы.

Пример:

java
import javax.annotation.PostConstruct;

public class DatabaseService {
private String connectionUrl;

text
@PostConstruct
public void init() {
    System.out.println("Initializing connection: " + connectionUrl);
}

public void setConnectionUrl(String url) {
    this.connectionUrl = url;
}

}

text
**Когда использовать:**  
- Инициализация ресурсов (например, подключение к БД).  
- Проверка корректности зависимостей.  
- Запуск фоновых задач.  

⚠️ **Важно:**  
- Метод должен быть `void` и без параметров.  
- Не вызывается, если бин создан вручную (без DI).  
- В Spring 3+ можно использовать `InitializingBean`, но `@PostConstruct` — более стандартный вариант (JSR-250).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы