2016-10-11 6 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
我々はこのインターセプタを追加registry.addInterceptor(new Interceptor()).addPathPatterns("/**");それがnewあり、同様に値を取得することはできません!
値を取得する方法の1つはBeanFactory.getBean("beanname")です。 しかし、どのように私は春のマネージャーにこのインターセプタをさせることができますので、私はそれは私があなたロガー呼び出しでプレースホルダ{}を置くことを忘れてしまったと考えていlog.info("env: {}", env);Springブートインターセプタはautowired Environmentを取得できませんか?

でなければなりません@Autowired

+1

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

答えて

1

を使用することができます。

+0

ログの使用はエラーですが、値は本当です「ヌル」 – twogoods

関連する問題