|
@@ -5,10 +5,13 @@ import javax.sql.DataSource;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.boot.SpringApplication;
|
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
|
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
|
|
|
+import org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
|
|
|
@SpringBootApplication
|
|
|
@ComponentScan(basePackages = "org.snaker")
|
|
@@ -17,6 +20,8 @@ public class SnakerFlowyApplication {
|
|
|
|
|
|
@Autowired
|
|
|
private DataSource dataSource;
|
|
|
+
|
|
|
+ private TransactionManagerCustomizers transactionManagerCustomizers;
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
SpringApplication.run(SnakerFlowyApplication.class, args);
|
|
@@ -26,4 +31,13 @@ public class SnakerFlowyApplication {
|
|
|
public JdbcTemplate getJdbcTemplate() {
|
|
|
return new JdbcTemplate(dataSource);
|
|
|
}
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public DataSourceTransactionManager transactionManager(DataSourceProperties properties) {
|
|
|
+ DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(this.dataSource);
|
|
|
+ if (this.transactionManagerCustomizers != null) {
|
|
|
+ this.transactionManagerCustomizers.customize(transactionManager);
|
|
|
+ }
|
|
|
+ return transactionManager;
|
|
|
+ }
|
|
|
}
|