使用 FilterRegistrationBean的getInitParameters()方法可以获得 但是不能实例化一个FilterRegistrationBean 请问怎么处理
你试试看用泛型注入你的FilterRegistrationBean
。
@Autowired
FilterRegistrationBean<MyFilter> filterRegistrationBean;
这种问题不要截图,要贴代码。 想帮你的人没法复制你的代码帮你调试。
最后再不济,你直接反射读取这个Filter
类上的注解,通过注解读取到这个属性也可以实现。
好的 知道了 以后有问题贴代码
1 Like
你说的这种反射获取 Filter
类上的注解,通过注解读取到这个属性 怎么实现呢
很简单,反射就行
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpFilter;
@WebFilter(initParams = {
@WebInitParam(name = "name", value = "SpringBoot中文社区"),
@WebInitParam(name = "url", value = "https://springboot.io")
})
class MyFilter extends HttpFilter{ }
public class MainTest {
public static void main(String[] args) throws IllegalAccessException {
WebFilter webFilter = MyFilter.class.getAnnotation(WebFilter.class);
WebInitParam[] webInitParams = webFilter.initParams();
for (WebInitParam webInitParam : webInitParams){
String name = webInitParam.name();
String value = webInitParam.value();
System.out.println(name + "=" + value);
}
}
}
name=SpringBoot中文社区
url=https://springboot.io
看懂了 谢谢啦