Spring学习- 09 Druid数据源换成Hikari数据源(注解)
注意: 在**07 Spring+SpringMVC+Druid+jdbcTemplate(注解方式)**的基础上修改
09.01 导入Hikari依赖()pom.xml)
导入HikariCP依赖
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
删除druid依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
09.02 配置DataSource
- 删除Druid的配置文件
- DruidDatasourceConfig.java
- DruidStatFilter.java
- DruidStatViewServlet.java
- 增加Hikari的配置文件(
DatasourceConfig,java
)- 创建Datasource
- 创建JdbcTemplate
package com.min.spring.config.hikari;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
@Configuration //表示配置文件类
@PropertySource(value = {"classpath:jdbc.properties",},ignoreResourceNotFound=true) //添加配置文件
public class DatasourceConfig {
@Value("${jdbc.driverClass}")
private String jdbc_driverClassName ;
@Value("${jdbc.url}")
private String jdbc_url ;
@Value("${jdbc.username}")
private String jdbc_username ;
@Value("${jdbc.password}")
private String jdbc_password ;
@Value("${jdbc.pool.init}")
private Integer jdbc_initialSize ;
@Value("${jdbc.pool.minIdle}")
private Integer jdbc_minIdle ;
@Value("${jdbc.pool.maxWait}")
private Integer jdbc_maxWait ;
@Value("${jdbc.pool.maxActive}")
private Integer jdbc_maxActive ;
@Autowired
private DataSource dataSource;
@Bean
public DataSource dataSource(){
HikariConfig jdbcConfig = new HikariConfig();
jdbcConfig.setPoolName(getClass().getName());
jdbcConfig.setDriverClassName(jdbc_driverClassName);
jdbcConfig.setJdbcUrl(jdbc_url);
jdbcConfig.setUsername(jdbc_username);
jdbcConfig.setPassword(jdbc_password);
jdbcConfig.setMaximumPoolSize(jdbc_initialSize);
// jdbcConfig.setMaxLifetime(maxLifetime);
// jdbcConfig.setConnectionTimeout(connectionTimeout);
// jdbcConfig.setIdleTimeout(idleTimeout);
return new HikariDataSource(jdbcConfig);
}
@Bean
public JdbcTemplate jdbcTemplate(){
return new JdbcTemplate(dataSource);
}
}