Spring Boot拦截器无法获得自动环境?

时间:2016-10-11 16:48:46

标签: java spring-mvc spring-boot

@Component
public class AuthorizeInterceptor extends HandlerInterceptorAdapter {

    private Logger log = LoggerFactory.getLogger(AuthorizeInterceptor.class);

    @Autowired
    private Environment env;

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("env:",env);
        return true;
    }
}

env是null,有些配置使用@Value()也无法获得价值,始终null
我们添加了这个拦截器registry.addInterceptor(new Interceptor()).addPathPatterns("/**");,它是new! 获得价值的一种方法是BeanFactory.getBean("beanname")。 但是我怎么能让Spring管理这个拦截器,所以我可以使用@Autowired

1 个答案:

答案 0 :(得分:1)

应为log.info("env: {}", env);

我相信您忘记将占位符{}放入记录器调用中。