【发布时间】:2016-07-04 02:06:13
【问题描述】:
Sniffy 是一个很酷的小项目:
Sniffy 计算执行的 SQL 查询的数量并提供用于验证它们的 API 它专为单元测试而设计,允许您测试特定方法是否执行超过 N 个 SQL 查询 特别是它对捕获 ORM N+ 非常有用1个早期的问题
它还提供了一个 servlet 过滤器,可以将 HTML 注入页面,并弹出一个显示您执行的查询的弹出窗口。该文档解释了如何为基于传统web.xml 的应用程序而不是 Spring Boot 配置它。我设法通过将此 bean 添加到 @Configuration 类来注册 servlet 过滤器:
@Bean
public FilterRegistrationBean snifferFilter()
{
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
SnifferFilter filter = new SnifferFilter();
filter.setInjectHtml(true);
filterRegistrationBean.setFilter(filter);
filterRegistrationBean.setName("sniffer");
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
我还更新了 JDBC url,文档说:
为 JDBC 连接 url 添加 sniffer: 前缀 例如 jdbc:h2:~/test 应更改为 sniffer:jdbc:h2:mem:
所以我在application.yml 中添加了以下内容:
spring.datasource.url: sniffer:jdbc:mysql://localhost:3306
但是当我启动我的应用程序时,它会因为这个错误而失败:
网址必须以“jdbc”开头
【问题讨论】:
标签: java jdbc spring-boot web.xml sniffy