DruidConfig.java
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.tianbo.analysis.bean;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
import javax.servlet.Filter;
import javax.servlet.Servlet;
import javax.sql.DataSource;
@Configuration
public class DruidConfig {
// @Primary
// @Bean
// @ConfigurationProperties(prefix = "spring.datasource")
// public DataSource druidDataSource(){
// return DataSourceBuilder.create().type(DruidDataSource.class).build();
//// return new DruidDataSource();
// }
/**
* 配置druid在线监控的账号密码
* @return
*/
@Bean
public ServletRegistrationBean<Servlet> druidServlet(){
StatViewServlet statViewServlet = new StatViewServlet();
ServletRegistrationBean<Servlet> srb = new ServletRegistrationBean<>(statViewServlet, "/druid/*");
// 白名单
srb.addInitParameter("allow", "127.0.0.1");
// 黑名单
// srb.addInitParameter("deny", "10.*.*.*");
// 用户名
srb.addInitParameter("loginUsername", "tianbo");
// 密码
srb.addInitParameter("loginPassword", "vmvnv1v2VV.");
// 是否可以重置数据源
srb.addInitParameter("resetEnable", "false");
return srb;
}
// @Bean
// public FilterRegistrationBean<Filter> filterRegistrationBean(){
// FilterRegistrationBean<Filter> frb = new FilterRegistrationBean<>();
// WebStatFilter webStatFilter = new WebStatFilter();
// // 所有请求进行监控处理
// frb.setFilter(webStatFilter);
// // 排除名单
// frb.addUrlPatterns("/*");
// frb.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");
// return frb;
// }
// @Bean
// PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor() {
// return new PersistenceExceptionTranslationPostProcessor();
// }
// @Bean
// public SqlSessionFactoryBean sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
// SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
// bean.setDataSource(dataSource);
// PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
// bean.setMapperLocations(resolver.getResources("classpath:/mapping/*.xml"));
// return bean;
// }
}