Senior
74
Šta će se desiti prvo: metoda anotirana sa @PostConstruct ili sa @Transactional?
Компаније где су питане
EXPERA
Одговор од АИ
sobes.tech АИ
Аннотация @PostConstruct указывает, что метод должен быть вызван после того, как Spring создаст бин и выполнит инъекции зависимостей.
Аннотация @Transactional управляет транзакциями, обычно оборачивая вызов метода в транзакционный контекст.
Порядок:
- Сначала вызывается метод с @PostConstruct после инициализации бина.
- Транзакционный аспект (@Transactional) начинает транзакцию при вызове метода извне.
Если метод помечен обеими аннотациями и вызывается Spring при инициализации, то @PostConstruct выполнится первым, но транзакция может не быть активна, так как вызов происходит внутри инициализации бина, а не через прокси Spring.
Итого: @PostConstruct сработает первым, но @Transactional может не примениться при вызове внутри инициализации.