Java Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° | Spring Boot Backend & Architecture. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΠΆΠ°Π²Π° Π΄Π»Ρ Developer. IT Π‘ΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Coding Π·Π°Π΄Π°ΡΠΈ. Π£ΡΠΎΠΊΠΈ ΠΈ ΠΊΡΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ° Π² Tech.
ΠΠ°ΡΠΊΠ° Β· 14 ΡΠ΅Π½ΡΡΠ±ΡΡ 2026 Π³.
π§ Π’ΡΡΠΊ Ρ @EventListener Π² Spring β ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π»ΠΈΡΠ½ΠΈΠΉ @TransactionalEventListener
π§ Π’ΡΡΠΊ Ρ @EventListener Π² Spring β ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π»ΠΈΡΠ½ΠΈΠΉ @TransactionalEventListener ΠΠΎΠ³Π΄Π° ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΌΡ ΡΠ°ΡΡΠΎ ΠΏΠΈΡΠ΅ΠΌ: @TransactionalEventListener public void handleEvent(MyEvent event) { // ... } β οΈ ΠΠΎ Π΅ΡΡΡ Π½ΡΠ°Π½Ρ: @TransactionalEventListener ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π±Π°Π³ΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡ, ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. π ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°: ΠΎΠ±ΡΡΠ½ΡΠΉ @EventListener, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ TransactionSynchronizationManager. π‘ Π‘Π½ΠΈΠΏΠΏΠ΅Ρ: @Component public class MyEventHandler { @EventListener public void handle(MyEvent event) { if (TransactionSynchronizationManager.isActualTransactionActive()) { TransactionSynchronizationManager.registerSynchronization( new TransactionSynchronizationAdapter() { @Override public void afterCommit() { // ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° } } ); } else { // fallback: Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΡΠ°Π·Ρ } } } π ΠΠ»ΡΡΡ: β ΠΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ: ΡΡ ΡΠ°ΠΌ ΡΠ΅ΡΠ°Π΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ (Π΄ΠΎ/ΠΏΠΎΡΠ»Π΅/Π²Π½Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ) β ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· utility-ΠΌΠ΅ΡΠΎΠ΄ β ΠΠΈΠ±ΠΊΠΎΡΡΡ: Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ Spring'Π° β οΈ ΠΠΈΠ½ΡΡ: ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. π @BookJava
ΠΠ°Π½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΠ°ΠΊΡΠΈΠΌΠ΅ΡΠ΅ΡΠ°
1Β 609 ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Β· ΠΠ°ΡΠΊΠ°