2017-03-22 12 views
0

をautowiredすることはできません、autowired BeanはWebフィルタは、私がWebフィルタで見つかったのSpring Bean

import javax.servlet.Filter; 
import javax.servlet.FilterChain; 
import javax.servlet.FilterConfig; 

public class ClientIpFilter implements Filter { 

    @Autowired 
    private Environment environment; 
} 

下記のコードのように、初期化され、

import org.springframework.boot.context.embedded.FilterRegistrationBean; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 


@Configuration 
public class CustomWebSecurityConfigurerAdapter { 
    @Bean 
     public FilterRegistrationBean filterRegistrationBean() { 
      FilterRegistrationBean registrationBean = new FilterRegistrationBean(); 
      ClientIpFilter securityFilter = new ClientIpFilter(); 
      registrationBean.setFilter(securityFilter); 
      registrationBean.setOrder(1); 
      return registrationBean; 
     }   
} 

設定

でビーンを登録することができないフィルタがinitedされているので、このです他の豆の前に?はいの場合は、どのようにWeb BeanをWebフィルタで使用できますか?

答えて

0

ClientIpFilterクラスの@Component注釈が見つかりませんでした。

+0

はい、これは機能します。フィルターをコンポーネントとして登録し、CustomWebSecurityConfigurerAdapterでautowiredします。 – richard

関連する問題