Spring 启动 - 添加过滤器

Spring boot - adding a filter

我想知道如果 java class 仅在应用程序容器中可用,即它在编译时不可用,我如何在 spring 引导中添加过滤器。

FilterRegistrationBean 只能添加过滤器 class 而不是将在 运行 时间实例化的 class 名称的字符串。

这可能吗?我想我可能必须在我的项目中添加一个 web.xml,但我现在不想这样做。

感谢任何帮助。

谢谢。

如果您的 Filter 有一个无参数的构造函数,这应该可以工作。

try { 
    Class c   = Class.forName("com.runtimeFilter"); 
    Filter filter = (Filter)c.newInstance();
    //register filter with bean
} catch (Exception e) {}

如果它有带参数的构造函数,您需要在 Class.

上使用 getConstructor() 方法