javaspringspring-boottransactionmanager

TransactionManager and datasource in spring boot - spring data


I wanted to access the Transaction Manager and datasource in my configuration in spring boot application. I am using spring-boot-starter-data-jpa artifact.

Is it possible to just autowire in the config and get its access?


Solution

  • You can get access to the transaction manager with:

    @Autowired
    private PlatformTransactionManager transactionManager;
    

    For the DataSource, out-of-the-box with the starter you chose you will get the tomcat-jdbc datasource:

    https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-configure-datasource

    You can just inject that like this:

    @Autowired
    private DataSource dataSource;
    

    Make sure you use the JDBC DataSource type (javax.sql.DataSource), and not a specific implementation.