Commit 7ab08e6e by 李传峰

feat:[none] DataSource相关beanName改成变量,并增加@Primary注解

parent e2974152
package com.pcloud.common.core.datasource; package com.pcloud.common.core.datasource;
import java.sql.SQLException; import com.alibaba.druid.pool.DruidDataSource;
import java.util.ArrayList;
import javax.sql.DataSource;
import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.StatViewServlet;
import com.pcloud.common.core.mybatis.interceptor.ExecutorInterceptor; import com.pcloud.common.core.mybatis.interceptor.ExecutorInterceptor;
import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.plugin.Interceptor;
...@@ -25,16 +21,23 @@ import org.springframework.context.annotation.Primary; ...@@ -25,16 +21,23 @@ import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import com.alibaba.druid.pool.DruidDataSource; import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.ArrayList;
@Configuration @Configuration
@ConfigurationProperties(prefix = "spring.datasource") @ConfigurationProperties(prefix = "spring.datasource")
@MapperScan(basePackages = DataSourceConfig.PACKAGE, sqlSessionFactoryRef = "sqlSessionFactory") @MapperScan(basePackages = DataSourceConfig.PACKAGE, sqlSessionFactoryRef = DataSourceConfig.SESSION_FACTORY_NAME)
public class DataSourceConfig { public class DataSourceConfig {
private Logger logger = LoggerFactory.getLogger(DataSourceConfig.class); private Logger logger = LoggerFactory.getLogger(DataSourceConfig.class);
static final String PACKAGE = "com.pcloud.common.core.dao"; static final String PACKAGE = "com.pcloud.common.core.dao";
public static final String DATASOURCE_NAME = "druidDataSource";
public static final String TRANSACTION_MANAGER_NAME = "transactionManager";
public static final String SESSION_FACTORY_NAME = "sqlSessionFactory";
public static final String SESSION_TEMPLATE_NAME = "sqlSessionTemplate";
private String url; private String url;
private String type; private String type;
...@@ -86,7 +89,7 @@ public class DataSourceConfig { ...@@ -86,7 +89,7 @@ public class DataSourceConfig {
// @Value("${spring.datasource.druidPassword}") // @Value("${spring.datasource.druidPassword}")
// private String druidPassword; // private String druidPassword;
@Bean(name = "druidDataSource") @Bean(name = DATASOURCE_NAME)
@Primary // 不要漏了这 @Primary // 不要漏了这
public DataSource dataSource() { public DataSource dataSource() {
DruidDataSource datasource = new DruidDataSource(); DruidDataSource datasource = new DruidDataSource();
...@@ -134,13 +137,15 @@ public class DataSourceConfig { ...@@ -134,13 +137,15 @@ public class DataSourceConfig {
return servletRegistrationBean; return servletRegistrationBean;
} }
@Bean(name = "transactionManager") @Bean(name = TRANSACTION_MANAGER_NAME)
@Primary
public DataSourceTransactionManager transactionManager() { public DataSourceTransactionManager transactionManager() {
logger.info("【DataSource】初始化TransactionManager事务管理器,<START>"); logger.info("【DataSource】初始化TransactionManager事务管理器,<START>");
return new DataSourceTransactionManager(dataSource()); return new DataSourceTransactionManager(dataSource());
} }
@Bean(name = "sqlSessionFactory") @Bean(name = SESSION_FACTORY_NAME)
@Primary
@Autowired @Autowired
public SqlSessionFactory sqlSessionFactory(ExecutorInterceptor interceptor) throws Exception { public SqlSessionFactory sqlSessionFactory(ExecutorInterceptor interceptor) throws Exception {
logger.info("【DataSource】初始化SqlSessionFactory,<START>"); logger.info("【DataSource】初始化SqlSessionFactory,<START>");
...@@ -153,7 +158,8 @@ public class DataSourceConfig { ...@@ -153,7 +158,8 @@ public class DataSourceConfig {
return sessionFactoryBean.getObject(); return sessionFactoryBean.getObject();
} }
@Bean(name = "sqlSessionTemplate") @Bean(name = SESSION_TEMPLATE_NAME)
@Primary
@Autowired @Autowired
public SqlSessionTemplate sqlSessionTemplate(ExecutorInterceptor interceptor) throws Exception { public SqlSessionTemplate sqlSessionTemplate(ExecutorInterceptor interceptor) throws Exception {
logger.info("【DataSource】初始化SqlSessionTemplate,<START>"); logger.info("【DataSource】初始化SqlSessionTemplate,<START>");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment