aboutsummaryrefslogtreecommitdiff
path: root/juick-core
diff options
context:
space:
mode:
authorGravatar Alexander Alexeev2016-11-11 01:29:01 +0700
committerGravatar Vitaly Takmazov2016-11-11 17:27:58 +0300
commit6604dc96558028c0095f33eca1852de5e61f8466 (patch)
tree5da1118a468d7142250112ee83f81b5849accdf0 /juick-core
parent9077e9f21d785a6507aeb79d04faca2107aa80e4 (diff)
common data configuration is added
Diffstat (limited to 'juick-core')
-rw-r--r--juick-core/src/main/java/com/juick/configuration/DataConfiguration.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/juick-core/src/main/java/com/juick/configuration/DataConfiguration.java b/juick-core/src/main/java/com/juick/configuration/DataConfiguration.java
new file mode 100644
index 00000000..b140b873
--- /dev/null
+++ b/juick-core/src/main/java/com/juick/configuration/DataConfiguration.java
@@ -0,0 +1,51 @@
+package com.juick.configuration;
+
+import org.apache.commons.dbcp2.BasicDataSource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.core.env.Environment;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.transaction.annotation.TransactionManagementConfigurer;
+
+import javax.annotation.Resource;
+import javax.sql.DataSource;
+
+/**
+ * Created by aalexeev on 11/11/16.
+ */
+@Configuration
+@EnableTransactionManagement
+@PropertySource(value = {"classpath:juick.conf", "file:${user.home}/juick.conf"})
+public class DataConfiguration implements TransactionManagementConfigurer {
+ @Resource
+ private Environment env;
+
+ @Bean
+ public DataSource dataSource() {
+ BasicDataSource dataSource = new BasicDataSource();
+
+ dataSource.setDriverClassName(env.getProperty("datasource_driver", "com.mysql.jdbc.Driver"));
+ dataSource.setUrl(env.getProperty("datasource_url"));
+
+ return dataSource;
+ }
+
+ @Bean
+ public PlatformTransactionManager transactionManager() {
+ return new DataSourceTransactionManager(dataSource());
+ }
+
+ @Override
+ public PlatformTransactionManager annotationDrivenTransactionManager() {
+ return transactionManager();
+ }
+
+ @Bean
+ public JdbcTemplate jdbc() {
+ return new JdbcTemplate(dataSource());
+ }
+}