2016-10-11 1 views
1
@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
은 우리가 new 인이 인터셉터 registry.addInterceptor(new Interceptor()).addPathPatterns("/**");를 추가 항상뿐만 아니라 값을 얻을 수 없다 사용!
값을 얻는 한 가지 방법은 BeanFactory.getBean("beanname")입니다. 하지만 내가 어떻게 봄 매니저이 요격하자, 그래서 난 @Autowired스프링 부트 인터셉터는 자동으로 환경을 얻을 수 없습니까?

+1

http://stackoverflow.com/questions/23349180/java-config-for-spring-interceptor-where-interceptor-is-using-autowired-spring-b – twogoods

답변

1

그것은 당신이 당신의 로거 전화를 자리 표시 자 {}을 넣어 것을 잊었다 생각 log.info("env: {}", env);

해야 사용할 수 있습니다. 로그의

+0

사용 오류이지만, 값은 정말 'null' – twogoods

관련 문제