小编Dai*_*tre的帖子

如何将属性值注入过滤器?

我的问题很简单。我正在尝试将属性值注入到过滤器中。在控制器类中,我使用了以下代码,并且可以成功注入属性:

@Controller
public class StatementController {
    @Value("${xapi.version}")
    private String version;
...
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在自定义过滤器中使用相同的代码时,我会在version属性中得到一个空值。这是代码:

public class HeaderFilter extends OncePerRequestFilter {

    @Value("${xapi.version}")
    private String version;
    private Logger logger = Logger.getLogger(this.getClass());

    @Override
    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
logger.error(version==null);
...
Run Code Online (Sandbox Code Playgroud)

我正在使用springframework 4.0.9,这是web.xml中我的过滤器配置的一部分:

<filter>
        <filter-name>header</filter-name>
        <filter-class>com.application.HeaderFilter</filter-class>
    </filter>
<filter-mapping>
        <filter-name>header</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc filter

0
推荐指数
1
解决办法
3335
查看次数

标签 统计

filter ×1

java ×1

spring ×1

spring-mvc ×1