springboot配置数据库连接池

一、传统java配置

java配置主要靠java类和一些注解,比较常用的注解有:

  • @Configuration:声明一个类作为配置类,代替xml文件
  • @Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签
  • @value:属性注入
  • @PropertySource:指定外部属性文件,

1.首先引入Druid连接池依赖:

   
    com.alibaba
    druid
    1.1.6
   

2.创建一个jdbc.properties文件,编写jdbc属性:
在这里插入图片描述
在这里插入图片描述
3.创建一个JdbcConfig类
在这里插入图片描述
在这里插入图片描述
解读:

  • @Configuration:声明我们JdbcConfig是一个配置类
  • @PropertySource:指定属性文件的路径是:classpath:jdbc.properties
  • 通过@Value为属性注入值
  • 通过@Bean将 dataSource()方法声明为一个注册Bean的方法,Spring会自动调用该方法,将方法的返回值加入Spring容器中。
    然后我们就可以在任意位置通过@Autowired注入DataSource了!
    在这里插入图片描述

二、.SpringBoot的属性注入

java配置方式通过属性注入使用的是@Value注解。这种方式虽然可行,但是它只能注入基本类型值。而在SpringBoot中,提供了一种新的属性注入方式,支持各种java基本数据类型及复杂类型的注入。
1.新建一个类
在这里插入图片描述
在这里插入图片描述
解读:
在类上通过@ConfigurationProperties注解声明当前类为属性读取类
prefix="jdbc"读取属性文件中,前缀为jdbc的值。
在类上定义各个属性,名称必须与属性文件中jdbc.后面部分一致
需要注意的是,这里我们并没有指定属性文件的地址,所以我们需要把jdbc.properties里的配置放在application.properties里,这是SpringBoot默认读取的属性文件名.
2.新建JdbcConfig
在这里插入图片描述
解读:
通过@EnableConfigurationProperties(JdbcProperties.class)来声明要使用JdbcProperties这个类的对象

三、springboot推荐更简单的优雅注入

在这里插入图片描述
解读
我们直接把@ConfigurationProperties(prefix = “jdbc”)声明在需要使用的@Bean的方法上,然后SpringBoot就会自动调用这个Bean(此处是DataSource)的set方法,然后完成注入。使用的前提是:该类必须有对应属性的set方法! 就是讲解二中的JdbcProperties类

四、整合连接池
在刚才引入jdbc启动器的时候,SpringBoot已经自动帮我们引入了一个连接池:HikariCP,应该是目前速度最快的连接池了
因此,我们只需要指定连接池参数即可:

# 连接四大参数
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123
# 可省略,SpringBoot自动推断
spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.minimum-idle=10

如果你更喜欢Druid连接池,也可以使用Druid官方提供的启动器:



    com.alibaba
    druid-spring-boot-starter
    1.1.6

而连接信息的配置与上面是类似的,只不过在连接池特有属性上,方式略有不同:

#初始化连接数
spring.datasource.druid.initial-size=1
#最小空闲连接
spring.datasource.druid.min-idle=1
#最大活动连接
spring.datasource.druid.max-active=20
#获取连接时测试是否可用
spring.datasource.druid.test-on-borrow=true
#监控页面启动
spring.datasource.druid.stat-view-servlet.allow=true

你可能感兴趣的:(java,java,后端)