本文共 3414 字,大约阅读时间需要 11 分钟。
使用Spring Boot 2.1.1版本搭建基于Druid的连接池配置,记录详细步骤及应用场景。
确保项目中使用Spring Boot 2.1.1版本,填写 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> </parent>
到 pom.xml
中。无需额外添加Spring Boot相关依赖。
在项目根目录的 pom.xml
,添加Druid相关依赖:
com.alibaba druid 1.1.9
完成后,打开 src/main/java/config/DruidConfig.java
,添加以下内容:
import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Bean;import org.springframework.boot.context.properties.ConfigurationProperties;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;@Configurationpublic class DruidConfig { @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSource() { return new DruidDataSource(); } @Bean public ServletRegistrationBean statViewServlet() { ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); MapinitParams = new HashMap<>(); initParams.put("loginUsername", "admin"); initParams.put("loginPassword", "123456"); initParams.put("allow", ""); initParams.put("deny", "192.168.15.21"); bean.setInitParameters(initParams); return bean; } @Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map initParams = new HashMap<>(); initParams.put("exclusions", "*.js,*.css,/druid/*"); bean.setInitParameters(initParams); bean.setUrlPatterns(Arrays.asList("/*")); return bean; }}
编辑 application.yml
,添加Druid数据配置:
spring: datasource: url: jdbc:mysql://45.40.205.79/icode_dev?useUnicode=true&characterEncoding=UTF-8 username: xd_database password: Woaini1234$ driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource initialSize: 5 maxActive: 20 minIdle: 5 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 useGlobalDataSourceStat: true
在 controller
包下编写默认注解的控制器类:
@RestControllerpublic class ArticleController { @Autowired private HomeArticleMapper homeArticleMapper; @GetMapping(value = "get/{id}") public String getArticle(@PathVariable Long id) { HomeArticle homeArticle = homeArticleMapper.selectByPrimaryKey(id); return "123"; }}
在 SpringBootApplication
类中添加 @MapperScan
注解,确保 Mapper 接口被扫描到:
@SpringBootApplication mapperSCAN(true)public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
启动应用后,访问 http://localhost:8080/druid/login 使用账号 admin
和密码 123456
登录,进入Druid管理页面。
在浏览器输入地址后,访问 /get/1
测试API接口,可以在Druid监控中查看详细查询日志。
转载地址:http://vkktz.baihongyu.com/