一、DataSource已关闭的处理
在大量使用数据源时,有时会出现数据源使用后未关闭的情况,这个问题使用Spring Boot可以很容易解决。Spring Boot中的DataSource是由Tomcat中的Commons DataSource构建的。
我们可以使用初始化属性等设置,通过指定destroyMethod来定义关闭应用程序上下文时的关闭行为。
@Bean(destroyMethod = "close") public DataSource dataSource(){ return new DataSource(); }
二、如何创建DataSource
1、使用DruidDataSource
DruidDataSource是Alibaba提供的一个开源的数据库连接池,相比于其他连接池,它有更多的监控特性,更好的性能。
@Configuration public class DruidConfig { @Bean @ConfigurationProperties(prefix = "spring.datasource.druid") public DataSource druidDataSource() { return new DruidDataSource(); } }
2、使用自定义的DataSource
Spring Boot不仅支持常规的数据源(如MySQL,PostgreSQL等),还可以自定义我们自己的数据源。只需要实现DataSource接口即可。
public class MyDataSource implements DataSource { // 实现接口中的所有方法 // ... }
三、DataSourceProperties的选取
1、url
指定连接到哪个数据库。参数格式如下:
jdbc:mysql://localhost:3306/local_db
2、username和password
指定连接到数据库需要用到的用户名和密码。
spring.datasource.username = root spring.datasource.password = admin
3、driver-class-name
指定连接数据库对应的驱动类。Spring Boot会自动根据指定的数据库URL猜测所需的驱动器类,因此可以放心省略这个参数。
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
4、其他选项
其他的一些选项还包括:initial-size,测试连接,以及连接超时等等。这些选项可以根据自己的实际需求进行设置。
spring.datasource.initial-size = 5 spring.datasource.max-active = 50 ...
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/152177.html