ServletRegistrationBean是为了打开Druid的监控统计功能及内置监控页面。
- 1
spring.datasource.druid.filters=stat,slf4j,wall
用于添加监控内容。
- 2
然后就是注册ServletRegistrationBean用于展示了
/**
* 注册Servlet信息, 配置监控视图
*
* @return
*/
/**
* Druid 提供了一个 StatViewServlet 用于展示 Druid 的统计信息
* 这个 StatViewServlet 的用途包括:
* 1. 提供监控信息展示的 HTML 页面
* 2. 提供监控信息的 JSON API
*/
@Bean
@ConditionalOnMissingBean
public ServletRegistrationBean<Servlet> druidServlet() {
ServletRegistrationBean<Servlet> servletRegistrationBean = new ServletRegistrationBean<Servlet>(new StatViewServlet(), "/druid/*");
//白名单:
servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
//IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.
servletRegistrationBean.addInitParameter("deny", "192.168.1.119");
//登录查看信息的账号密码, 用于登录Druid监控后台
servletRegistrationBean.addInitParameter("loginUsername", "admin");
servletRegistrationBean.addInitParameter("loginPassword", "admin");
//是否能够重置数据.
servletRegistrationBean.addInitParameter("resetEnable", "true");
return servletRegistrationBean;
}
这个ServletRegistrationBean类感觉挺有趣的,看上去好像是一个servlet的注册类。配置了它就可以显示页面了,有空想看看它源码怎么写的,主要负责什么功能。