Ja, dies ist aktiviert, solange Sie spring-tx
und einige Transaktionsressourcen in Ihrer Anwendung haben. Effektiv, wenn Sie spring-boot-starter-jdbc
oder spring-boot-starter-data-jpa
verwenden, wird Spring Boot eine DataSource
für Sie konfigurieren, Hibernate (in letzterem Fall) starten und Transaktionsverwaltung konfigurieren.
Nicht alle "Enable
" -Anmerkungen müssen explizit festgelegt werden. Wenn es eine vernünftige Menge von Dingen gibt, die wir prüfen können, um es zu validieren, macht es Sinn, das für Sie zu konfigurieren, wir werden es tun. In diesem Fall, wenn Sie eine DataSource
haben, müssen Sie wahrscheinlich Transaktionen haben wollen. Wenn Sie JPA (und keine JTA-Infrastruktur) haben, möchten Sie wahrscheinlich eine JpaTransactionManager
). Wenn wir das automatisch konfigurieren, ist der einfachste Weg, es zu verwenden, über @Transactional
, also werden wir das auch in diesem Fall aktivieren.
Ich vermute, du hast immer wieder nach einer Art "offizieller" Antwort gefragt, also hier ist eine.
Haben Sie Spring-JDBC auf Ihrem Klassenpfad? Wenn dies der Fall ist, erstellt die automatische Spring-Boot-Konfiguration einen [DataSourceTransactionManager] (https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot /autoconfigure/jdbc/DataSourceTransactionManagerAutoConfiguration.java) für Sie – anders
Danke für den Kommentar @anders, können Sie auf einige offizielle Dokumentation verweisen? –