Czy @EnableTransactionManagement jest wymagane w Spring Boot? Zrobiłem trochę badań. Niektórzy ludzie twierdzą, że nie jest ci potrzebny, ponieważ Spring Boot ma już włączony, inni mówią, że musisz go wyraźnie użyć. Więc jak to jest?@EnableTransactionManagement w Spring Boot
Odpowiedz
Prawdopodobnie używasz także danych sprężyn. Połączenia z repozytoriami danych Spring są domyślnie otoczone transakcją, nawet bez @EnableTransactionManagement. Jeśli Spring Data znajdzie istniejącą transakcję, istniejąca transakcja zostanie ponownie wykorzystana, w przeciwnym razie zostanie utworzona nowa transakcja.
@ Adnotacje transakcyjne w obrębie własnego kodu są jednak oceniane tylko wtedy, gdy aktywowano @EnableTransactionManagement (lub skonfigurowano obsługę transakcji w inny sposób).
można łatwo prześledzić zachowanie transakcji dodając następującą właściwość do swoich application.properties:
logging.level.org.springframework.transaction.interceptor=TRACE
Według>https://spring.io/guides/gs/managing-transactions/
Wiosna Boot wykryć spring-jdbc na ścieżce klas i h2 i będzie utworzyć DataSource i JdbcTemplate dla ciebie automa tically. Ponieważ taka infrastruktura jest już dostępna i nie masz dedykowanej konfiguracji, zostanie utworzony DataSourceTransactionManager dla ciebie: jest to składnik, który przechwytuje metodę adnotacji @Transactional.
Można również użyć wiosna-Boot-starter-siłownik do listy swoich fasoli utworzone w kontekście i znajdziesz to
fasoli ": "transactionManager"