diff options
author | Vitaly Takmazov | 2016-11-16 14:30:50 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2016-11-16 16:21:53 +0300 |
commit | ffb24e0d469aaafa35ad5f460a7bdf771382f0ff (patch) | |
tree | 0d8fc9114b916f9058cccb01fcf8281a0a209284 /juick-server/src/main/java/com/juick/configuration | |
parent | e8faf851327a12f28ae664a6f7db6c844d0ba9bf (diff) |
server-core -> juick-server
Diffstat (limited to 'juick-server/src/main/java/com/juick/configuration')
-rw-r--r-- | juick-server/src/main/java/com/juick/configuration/DataConfiguration.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java b/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java new file mode 100644 index 00000000..88fc00b3 --- /dev/null +++ b/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java @@ -0,0 +1,57 @@ +package com.juick.configuration; + +import org.apache.commons.dbcp2.BasicDataSource; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +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"}) +@ComponentScan(basePackages = {"com.juick.service"}) +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")); + dataSource.setUsername(env.getProperty("datasource_user", "")); + dataSource.setPassword(env.getProperty("datasource_password", "")); + + dataSource.setValidationQuery("select 1"); + + return dataSource; + } + + @Bean + public PlatformTransactionManager transactionManager() { + return new DataSourceTransactionManager(dataSource()); + } + + @Override + public PlatformTransactionManager annotationDrivenTransactionManager() { + return transactionManager(); + } + + @Bean + public JdbcTemplate jdbcTemplate() { + return new JdbcTemplate(dataSource()); + } +} |