filterRegistrationBean.setUrlPatterns(Arrays.asList(“/*”));
filterRegistrationBean.addInitParameter(“exclusions”,“.js,.gif,.jpg,.png,.css,.ico,/druid/*”);
return filterRegistrationBean;
}
//配置 druid 的监控页功能↑↑↑
@Bean
public ServletRegistrationBean StatViewServlet(){
StatViewServlet statViewServlet = new StatViewServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean<>(statViewServlet, “/druid/*”);
//配置初始化登录账户密码
registrationBean.addInitParameter(“loginUsername”,“druid”);
registrationBean.addInitParameter(“loginPassword”,“00000”);
return registrationBean;
}
@Configuration//配置类↑↑↑
public class MyDataSourceConfig {
//默认的自动配置是判断容器中没有才会配@ConditionalOnMissingBean(DataSource.class)
@ConfigurationProperties(“spring.datasource”)//与 spring.datasource 下面的数据进行绑定
@Bean
public DataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
//开启监控功能和防火墙
druidDataSource.setFilters(“stat,wall”);
// druidDataSource.setUrl();
// druidDataSource.setPassword();
// druidDataSource.setUsername();
return druidDataSource;
}
}
访问:localhost:8080/druid↓
.
3、使用官方starter方式
【官方直接把上面自定义的内容给配置好了】
3.1、引入druid-starter
com.alibaba
druid-spring-boot-starter
1.1.17
3.2、分析自动配置
-
扩展配置项 spring.datasource.druid
-
DruidSpringAopConfiguration.class,
监控SpringBean的
;配置项:spring.datasource.druid.aop-patterns
-
DruidStatViewServletConfiguration.class,
监控页的配置
:spring.datasource.druid.stat-view-servlet
;默认开启 -
DruidWebStatFilterConfiguration.class,
web监控配置
;spring.datasource.druid.web-stat-filter
;默认开启 -
DruidFilterConfiguration.class}) 所有Druid自己filter的配置
private static final String FILTER_STAT_PREFIX = “spring.datasource.druid.filter.stat”;
private static final String FILTER_CONFIG_PREFIX = “spring.datasource.druid.filter.config”;
private static final String FILTER_ENCODING_PREFIX = “spring.datasource.druid.filter.encoding”;
private static final String FILTER_