第一次发帖,好像不能上图,就尴尬了。
因为 jar 包的顺序和 war 的加载顺序不同。
Filter 里面注入失败。
解决方法在 init 初始化这里对 Service 进行手动注入
public class RESTApiAuthenticationFilter implements Filter {
protected Logger logger = LoggerFactory.getLogger(getClass());
@
Autowired private ApiUserService apiUserService;
@
Autowired private SignaConfig signaConfig;
@
Override public void init(FilterConfig filterConfig) {
logger.info("RESTApiAuthentication filter has been launched!");
//手动注入
BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext());
signaConfig = factory.getBean(SignaConfig.class);
apiUserService = factory.getBean(ApiUserService.class);
}
@
Override public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse,
FilterChain chain) throws IOException, ServletException {
}
@
Override public void destroy() {
// TODO Auto-generated method stub
}
}
在 Filter 初始化的时候手动注入即可。
这个问题已经馋了我三天三夜了
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/688757
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.