I found in Web Filter, the autowired bean cannot be initialized, like code below
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
public class ClientIpFilter implements Filter {
@Autowired
private Environment environment;
}
And register Bean in Configuration
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;
}
}
Is this because Filter is inited before other bean? If yes, how can I use spring beans in web filter?
You missed @Component
annotation for ClientIpFilter class.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments