spring boot 拦截器中无法注入serivce
2018-03-12 16:28
260 查看
@Configuration public class OptPermissionHandlerInterceptor extends HandlerInterceptorAdapter { private Logger logger = LoggerFactory.getLogger(OptPermissionHandlerInterceptor.class); @Autowired private OperatorLogService operatorLogService; //这里使用@Autowired无法注入成功 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (true) { return true; } else { String result = "当前登录用户无权限!"; response.getOutputStream().write(result.getBytes()); response.setStatus(HttpStatus.OK.value()); return false; } } @SuppressWarnings("rawtypes") @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { try { if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; String beanName = handlerMethod.getBean().getClass().toString(); String methodName = handlerMethod.getMethod().getName(); String uri = request.getRequestURI(); String remoteAddr = request.getRemoteAddr(); String sessionId = request.getSession().getId(); OperatorLog optLog = new OperatorLog(); optLog.setBeanName(beanName); optLog.setMethodName(methodName); optLog.setRemoteAddr(remoteAddr); optLog.setSessionId(sessionId); optLog.setUri(uri); if (operatorLogService == null) {//解决service为null无法注入问题 System.out.println("operatorLogService is null!!!"); BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext()); operatorLogService = (OperatorLogService) factory.getBean("operatorLogService"); } operatorLogService.saveOperatorLog(optLog); } } catch (Exception e) { logger.error("", e); } } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
转载自https://my.oschina.net/gmd/blog/699385
相关文章推荐
- 解决spring boot 拦截器中无法注入serivce
- spring boot 拦截器中无法注入serivce
- 原 spring boot 拦截器中无法注入serivce
- 解决Spring Boot 拦截器注入service为空的问题
- 解决Spring Boot 拦截器注入service为空的问题
- spring boot 中@Autowired注解无法自动注入的错误
- spring boot LoginInterceptor(登录拦截器)无法注入bean
- spring boot 中@Autowired注解无法自动注入的错误
- SpringBoot拦截器中Bean无法注入(转)
- spring boot 中@Autowired注解无法自动注入的错误
- SpringBoot中拦截器无法注入Bean的解决办法
- struts1 action中无法用注解注入值
- 解决Spring boot使用Quartz时Job中无法注入Bean 空指针异常问题
- No qualifying bean of type 无法注入这种类型的bean
- springboot无法注入JpaRepository的问题
- quartz的job类无法保留本身通过spring注入的属性问题
- 解决spring boot websocket无法注入bean的问题
- 关于spring3无法注入struts2的action
- 关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包
- 关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包