public void testIsConnect() throws SQLException {
DataSource dataSource = context.getBean(DataSource.class);
System.out.println("连接成功"+dataSource.getConnection());
}
}
三、Springboot配置jdbcTemplate的Datasource
-------------------------------------
SpringBoot配置
### 1、在配置文件中,写入数据库连接信息
`application.properties`配置如下
spring.datasource.primary.url=jdbc:mysql://localhost:3306/test
spring.datasource.primary.username=root
spring.datasource.primary.password=root
spring.datasource.primary.driver-class-name=com.mysql.jdbc.Driver
### 2、创建Spring配置类,定义DataSource用来读取`application.properties`中的配置
@Configuration
public class DataSourceConfig {
@Bean(name = "primaryDataSource")//命名这个datasource,用来区分不同的bean,比如多个数据库源
@Qualifier("primaryDataSource")//@Autowired默认是根据类型进行注入的,因此如果有多个类型一样的Bean候选者,Qualifier则需要限定其中一个候选者,否则将抛出异常,@Qualifier限定描述符除了能根据名字进行注入,更能进行更细粒度的控制如何选择候选者
@ConfigurationProperties(prefix="spring.datasource.primary")//读取前缀是什么的配置
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
}
### 3、在使用的时候注入datasource
@Bean(name = “primaryJdbcTemplate”)
public JdbcTemplate primaryJdbcTemplate(
@Qualifier("primaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
### 4、更详细的配置类
package com.guor.config;
import java.sql.SQLException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import com.alibaba.druid.pool.DruidDataSource;
@Configuration
@PropertySource(value = { “classpath:druidConfig.properties”,
“classpath:jdbc.properties” }, ignoreResourceNotFound = true)
public class DataSourceConfig {
@Value("${driverClassName}")
private String driverClassName;
@Valu