Druid简介
Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。
Druid 可以很好的监控 DB 池连接和 SQL 的执行情况。
Github地址:https://github.com/alibaba/druid/
配置数据源
1、添加上 Druid 数据源依赖。
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
</dependencies>
2、连接数据源
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
username: root
password: root
配置项中,在datasource下面并不是直接配置url这些属性的,而是先配置了一个druid节点,然后再配置的url这些东西。 除了这4个常规配置外,还有druid专用的其他配置。通过提示功能可以打开druid相关的配置查阅
3.添加 DruidDataSource 组件到容器中,并绑定属性;
@ConfigurationProperties(prefix = "spring.datasource")
@Bean//组件
public DataSource druidDataSource() {
return new DruidDataSource();
}
配置Druid数据源监控 :
设置 Druid 的后台管理页面,比如 登录账号、密码 等;配置后台管理;
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String,String> initParams = new HashMap<>();
initParams.put("Username","小胖");
initParams.put("Password","123456");
initParams.put("allow","");
//initParams.put("allow", "localhost"):
initParams.put("deny","");
//设置初始化参数
bean.setInitParameters(initParams);
return bean;
}
配置 Druid web 监控 filter 过滤器 :
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
//exclusions:设置哪些请求进行过滤排除掉,从而不进行统计
Map<String,String> initParams = new HashMap<>();
initParams.put("exclusions","*.js,*.css,/druid/*");
bean.setInitParameters(initParams);
//"/*" 表示过滤所有请求
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
controller层:
@RestController
@RequestMapping("/user")
public class jsbcController {
@Autowired
JdbcTemplate jdbcTemplate;
@GetMapping("/userList")
public List<Map<String, Object>> userList(){
String sql = "select * from db1.user";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
return maps;
}
总结:
- 整合Druid需要导入Druid对应的starter
- 根据Druid提供的配置方式进行配置
- 整合第三方技术通用方式