@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
http://stackoverflow.com/questions/23349180/java-config-for-spring-interceptor-where-interceptor-is-using-autowired-spring-b – twogoods