SpringBoot整合Druid
一、springboot整合druid示例
按需配置即可,主要用作监控
Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。
Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。
1、pom依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
2、切换数据源(配置数据库), Spring Boot 2.0 以上默认使用 com.zaxxer.hikari.HikariDataSource 数据源
spring: datasource: type: com.alibaba.druid.pool.DruidDataSource # 自定义数据源 druid: useGlobalDataSourceStat: true # 合并多个DruidDataSource的监控数据
3、添加配置注入(相关的配置可以读取数据库,专门存一个config表)
@Configuration public class DruidDBConfig { @Autowired WallFilter wallFilter; @Bean //声明其为Bean实例 @Primary //在同样的DataSource中,首先使用被标注的DataSource @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource() { DruidDataSource datasource = new DruidDataSource(); List <Filter> filters = new ArrayList <>(); filters.add(wallFilter); datasource.setProxyFilters(filters); return datasource; } @Bean(name = "wallFilter") @DependsOn("wallConfig") WallFilter wallFilter(WallConfig wallConfig) { WallFilter wfilter = new WallFilter(); wfilter.setConfig(wallConfig); return wfilter; } @Bean(name = "wallConfig") WallConfig wallFilterConfig() { WallConfig wc = new WallConfig(); wc.setMultiStatementAllow(true); return wc; } //配置 Druid 监控管理后台的Servlet @Bean public ServletRegistrationBean statViewServlet() { ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String, String> initParams = new HashMap<>(); initParams.put("loginUsername", "admin"); //后台管理界面的登录账号 initParams.put("loginPassword", "123456"); //后台管理界面的登录密码 initParams.put("allow", "");//后台允许谁可以访问:localhost本机可以访问、""或者null允许所有访问 //设置初始化参数,如黑名单、白名单 bean.setInitParameters(initParams); return bean; } }
4、访问路径:http://ip:端口druid/login.html
二、Junit单元测试
1、pom依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
2、方法上直接 @Test 运行(可能使用得少,自我感觉不如main方法或者接口测试强)
浙公网安备 33010602011771号