
上QQ阅读APP看书,第一时间看更新
2.4.4 开启监控功能
开启监控功能的方式有多种:
(1)使用原生的Servlet和Filter方式,然后通过@ServletComponentScan启动扫描包的方式进行处理。
(2)使用代码注册Servlet和Filter的方式处理。
这里我们选择Spring Boot推荐的第二种方式实现。我们在项目Java目录下(/src/main/java/com.example.demo.filter)新建一个配置类DruidConfiguration.java。具体代码如下:

• @Configuration:Spring中有很多的XML配置文件,文件中会配置很多的bean。在类上添加@Configuration注解,可以理解为该类变成了一个XML配置文件。
• @Bean:等同于XML配置文件中的<bean>配置。Spring Boot会把加上该注解的方法的返回值装载进Spring IoC容器,方法的名称对应<bean>标签的id属性值。具体代码如下:

• 类ServletRegistrationBean和FilterRegistrationBean:在DruidConfiguration.java这个配置文件中我们配置了两个类:druidStatViewServlet和druidStatFilter,并且通过注册类ServletRegistrationBean和FilterRegistrationBean实现Servlet和Filter类的注册。
在druidStatViewServlet类中,设定了访问数据库的白名单、黑名单、登录用户名和密码等信息。在druidStatFilter类中,设定了过滤的规则和需要忽略的格式。至此,配置类开发完成。