springboot之配置数据源

本文介绍了SpringBoot中如何配置数据源,包括默认的Tomcat JDBC连接池以及如何选择和配置Hikari、DBCP、DBCP2等第三方数据源。通过引入依赖、设置类型以及在配置类中定义@Bean,可以实现数据源的定制。此外,还提到了使用@ConfigurationProperties进行更详细的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置数据源

关于springboot的数据库连接池,默认4种,tomcat自带,hikari,dbcp,dbcp2,按照顺序来。要指定某一个:


spring.datasource.type=com.zaxxer.hikari.HikariDataSource

当然,前提是引入依赖。

		<!-- 添加Tomcat-JDBC依赖 -->
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-jdbc</artifactId>
		</dependency>
		<!-- 添加HikariCP依赖 -->
		<dependency>
			<groupId>com.zaxxer</groupId>
			<artifactId>HikariCP</artifactId>
		</dependency>
		<!-- 添加DBCP依赖 -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
		</dependency>
		<!-- 添加DBCP2依赖 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-dbcp2</artifactId>
		</dependency>

其实,tomcat—jdbc在引入spring-boot-start-jdbc时就引入了。
要使用第三方的数据源,引入依赖,添加type(上面的操作),定义数据源(在config配置类中添加@Bean),如:

@Configuration
public class DataSourceConfig {
 
	@Autowired
	private Environment env;
 
	@Bean
	public DataSource getDataSource() {
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setUrl(env.getProperty("spring.datasource.url"));
		dataSource.setUsername(env.getProperty("spring.datasource.username"));
		dataSource.setPassword(env.getProperty("spring.datasource.password"));
		return dataSource;
	}
}

也可以加上用@ConfigurationProperties(prefix = “spring.datasource.druid”):

@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSource2Config {
 
	private String url;
	private String username;
	private String password;
 
	@Bean
	public DataSource getDataSource() {
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setUrl(url);
		dataSource.setUsername(username);// 用户名
		dataSource.setPassword(password);// 密码
		return dataSource;
	}
 
	public String getUrl() {
		return url;
	}
 
	public void setUrl(String url) {
		this.url = url;
	}
 
	public String getUsername() {
		return username;
	}
 
	public void setUsername(String username) {
		this.username = username;
	}
 
	public String getPassword() {
		return password;
	}
 
	public void setPassword(String password) {
		this.password = password;
	}
}

以上详解:https://blog.youkuaiyun.com/pengjunlee/article/details/80081231

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值