我正在尝试确定弹簧靴,平针织物以及球衣和弹簧靴的背景如何相互关联。
Aws::Credentials
当我将它标记为@Provider并让泽西看到它所在的包装时,它找不到它。它在我成为@Component时有效。
@Component
public class CORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {
}
public void destroy() {
}
}
@Configuration注释是否使JerseyContext成为一个spring bean?然后spring注入CORSFilter,因为它找到了Filter类型的组件?这里发生了什么?
答案 0 :(得分:1)
您正在实现servlet过滤器(实现Filter),这意味着servlet容器正在实例化过滤器。当您提供@component注释时,仍然是初始化此过滤器的servlet容器。它只有春天上下文才能使用contextloader监听器来识别它。
在球衣中,您的过滤器应该实现ContainerRequestFilter
或ContainerResponseFilter
,以便将球衣配置应用于URL路径等过滤器。
由于您使用了servlet过滤器,因此应手动配置它。