下面是SpringBoot使用和配置Druid的完整攻略:
1. 引入Druid和SpringBoot Starter依赖
在Maven的pom.xml
文件中,加入Druid和SpringBoot Starter的依赖。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
druid.version
在本文中统一指定为1.2.4
。
2. 配置Druid数据源
在application.properties
文件中配置Druid数据源的参数,例如:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#Druid配置
#初始化大小、最小、最大
spring.datasource.initial-size=5
spring.datasource.min-idle=5
spring.datasource.max-active=20
#获取连接等待超时的时间
spring.datasource.max-wait=60000
#间隔多久检测一次,单位毫秒;关闭空闲连接,超出时间范围但连接数没有超过最小连接数,会直接关闭连接;默认为30分钟
spring.datasource.time-between-eviction-runs-millis=60000
#连接在池中最小生存的时间
spring.datasource.min-evictable-idle-time-millis=300000
#用来检测连接是否有效的sql
spring.datasource.validation-query=SELECT 1
spring.datasource.test-while-idle=true
spring.datasource.test-on-borrow=false
spring.datasource.test-on-return=false
#打印数据源信息
spring.datasource.filters=stat,wall,log4j
#合并多个DruidDataSource的监控数据
#spring.datasource.use-global-data-source-stat=true
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
3. 配置Druid监控
在application.properties
文件中配置Druid监控的访问路径、用户名和密码,例如:
#Druid监控配置
#开启监控界面
spring.datasource.druid.stat-view-servlet.enabled=true
#Druid监控后台的访问路径
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
#Druid监控密码修改界面的访问路径
spring.datasource.druid.web-stat-filter.url-pattern=/druid/security/*
#禁止页面上的Reset All功能
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
#Druid监控后台的用户名和密码
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456
4. 测试Druid数据源
我们可以编写一个简单的Controller测试Druid数据源是否配置完成。
@RestController
@RequestMapping("/test")
public class TestController {
@Autowired
private DataSource dataSource;
@GetMapping("/data")
public String getData(){
try {
Connection conn = dataSource.getConnection();
return "数据库连接成功!";
} catch (SQLException e) {
e.printStackTrace();
return "数据库连接失败:" + e.getMessage();
}
}
}
现在,启动SpringBoot应用程序,访问/test/data
路由,如果返回数据库连接成功!
字符串,则说明Druid数据源配置成功。
5. 使用Druid连接池
我们可以根据实际应用程序的需求来使用Druid连接池进行连接数据库,例如:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
public void addUser(User user){
jdbcTemplate.update("INSERT INTO user(name,age) VALUE (?,?)", user.getName(), user.getAge());
}
public void deleteUserById(Long id){
jdbcTemplate.update("DELETE FROM user WHERE id=?", id);
}
public List<User> getUserList(){
return jdbcTemplate.query("SELECT * FROM user", new BeanPropertyRowMapper<>(User.class));
}
}
这里我们使用Spring的JdbcTemplate来操作数据库,并自动获取Druid数据源的连接进行数据库操作。可以根据需要调整参数来控制连接池的行为。
以上就是SpringBoot使用和配置Druid的完整攻略。由于Druid具有强大的监控能力,我们在应用程序中使用它将极大地帮助我们更好地分析和优化应用程序的性能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot使用和配置Druid - Python技术站