文档地址
自带拦截器
- META-INF/druid-filter.properties 中配置
druid.filters.default=com.alibaba.druid.filter.stat.StatFilter
druid.filters.stat=com.alibaba.druid.filter.stat.StatFilter
druid.filters.mergeStat=com.alibaba.druid.filter.stat.MergeStatFilter
druid.filters.counter=com.alibaba.druid.filter.stat.StatFilter
druid.filters.encoding=com.alibaba.druid.filter.encoding.EncodingConvertFilter
druid.filters.log4j=com.alibaba.druid.filter.logging.Log4jFilter
druid.filters.log4j2=com.alibaba.druid.filter.logging.Log4j2Filter
druid.filters.slf4j=com.alibaba.druid.filter.logging.Slf4jLogFilter
druid.filters.commonlogging=com.alibaba.druid.filter.logging.CommonsLogFilter
druid.filters.commonLogging=com.alibaba.druid.filter.logging.CommonsLogFilter
druid.filters.wall=com.alibaba.druid.wall.WallFilter
druid.filters.config=com.alibaba.druid.filter.config.ConfigFilter
- 使用自带的拦截器
<property name="filters" value="stat,log4j" />
自定义拦截器
- 核心类 FilterEventAdapter ,该类对众多方法提供了钩子处理,我们可以重写对应的钩子从而实现自定义拦截器功能
- 编写自定义拦截器
import com.alibaba.druid.filter.FilterChain;
import com.alibaba.druid.filter.FilterEventAdapter;
import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
import java.util.Properties;
/**
* @author lijian
* @date 2019/3/13 下午4:26
*/
@Component
public class MyDruidInterceptor extends FilterEventAdapter {
@Override
public void connection_connectBefore(FilterChain chain, Properties info) {
System.out.println("i am doing connection_connectBefore ");
}
@Override
public void connection_connectAfter(ConnectionProxy connection) {
System.out.println("i am doing connection_connectAfter ");
}
}
- 将自定义的拦截器添加到拦截器链