Spring Boot使用Druid的详细攻略如下:
- 添加Druid依赖
在Spring Boot中使用Druid,需要在pom.xml文件中添加Druid的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
- 配置Druid数据源
在Spring Boot中,可以使用application.properties或application.yml文件来配置Druid数据源。以下是一个使用application.properties文件的示例:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# Druid configuration
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.max-wait=60000
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
在上面的示例中,我们使用spring.datasource前缀来配置数据源。我们使用spring.datasource.druid前缀来配置Druid数据源。我们指定了数据源的URL、用户名、密码和驱动程序。我们还指定了Druid数据源的一些属性,如初始大小、最小空闲连接数、最大活动连接数、最大等待时间、空闲连接回收时间、验证查询、测试连接等。
- 配置Druid监控
在Spring Boot中,可以使用Druid监控来监视数据源的性能和状态。以下是一个使用Druid监控的示例:
@Configuration
public class DruidConfig {
@Bean
public ServletRegistrationBean<StatViewServlet> druidServlet() {
ServletRegistrationBean<StatViewServlet> registrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
registrationBean.addInitParameter("loginUsername", "admin");
registrationBean.addInitParameter("loginPassword", "admin");
return registrationBean;
}
@Bean
public FilterRegistrationBean<WebStatFilter> filterRegistrationBean() {
FilterRegistrationBean<WebStatFilter> registrationBean = new FilterRegistrationBean<>(new WebStatFilter());
registrationBean.addUrlPatterns("/*");
registrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return registrationBean;
}
}
在上面的示例中,我们创建了一个名为DruidConfig的配置类。我们使用@Bean注解来创建ServletRegistrationBean和FilterRegistrationBean对象。我们使用ServletRegistrationBean来注册StatViewServlet,用于显示Druid监控页面。我们使用FilterRegistrationBean来注册WebStatFilter,用于收集数据源的性能和状态信息。
- 示例一:使用Druid数据源
以下是一个使用Druid数据源的示例:
@Service
public class MyService {
@Autowired
private DataSource dataSource;
public void query() {
try (Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable")) {
while (rs.next()) {
// process result set
}
} catch (SQLException e) {
// handle exception
}
}
}
在上面的示例中,我们使用@Autowired注解来注入Druid数据源。在服务中,我们使用数据源来获取数据库连接,并执行查询。
- 示例二:使用Druid监控
以下是一个使用Druid监控的示例:
@RestController
public class MyController {
@Autowired
private DruidDataSource dataSource;
@GetMapping("/druid/stat")
public Object stat() {
return dataSource.getStatData();
}
}
在上面的示例中,我们使用@Autowired注解来注入Druid数据源。在控制器中,我们使用数据源来获取Druid监控数据,并返回结果。
以上是Spring Boot使用Druid的完整攻略,其中包括添加Druid依赖、配置Druid数据源和Druid监控等步骤。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot 使用Druid详解 - Python技术站