静态工具类中使用注解注入service
2014-07-15 16:43
489 查看
一般需要在一个工具类中使用@Autowired 注解注入一个service。但是由于工具类方法一般都写成static,所以直接注入就存在问题。
使用如下方式可以解决:
使用如下方式可以解决:
/** * */ package cn.ffcs.drive.common.util; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import cn.ffcs.drive.domain.Admin; import cn.ffcs.drive.domain.OpeLog; import cn.ffcs.drive.service.IOpeLogService; import cn.ffcs.zq.util.DateUtils; /** * className:OpeLogUtils * * 管理员操作日志 * * @author pengyh * @version 1.0.0 * @date 2014-07-10 09:04:48 * */ @Component public class OpeLogUtils { private static Logger logger = LoggerFactory.getLogger(OpeLogUtils.class); @Autowired private IOpeLogService opeLogService; private static OpeLogUtils opeLogUtils; public void setUserInfo(IOpeLogService opeLogService) { this.opeLogService = opeLogService; } @PostConstruct public void init() { opeLogUtils = this; opeLogUtils.opeLogService = this.opeLogService; } /** * 执行操作日志入库操作 * @param adminId 管理员id * @param opeDesc 操作日志信息 * @param cityCode 城市编码 */ public static void insertOpeLog(HttpServletRequest req, String opeDesc) { try { /** * 获取管理员信息 */ Admin admin = DriveUtil.getSessionUser(req); if(admin != null && opeDesc != null && !opeDesc.trim().equals("")){ //封装日志信息 logger.info("开始封装日志信息。"); OpeLog opeLog = new OpeLog(); opeLog.setAdminId(admin.getId()); opeLog.setCityCode(admin.getCityCode()); opeLog.setOpeDesc("管理员id="+admin.getId()+"操作【"+opeDesc+"】"); opeLog.setOpeTime(DateUtils.getNow()); opeLog.setIsDelete("0"); opeLogUtils.opeLogService.save(opeLog); logger.info("保存管理员操作日志成功,信息为【adminId:{},cityCode:{},opeDesc:{},opeTime:{}】",new Object[]{admin!=null?admin.getId():null,admin.getCityCode(),opeDesc,DateUtils.getNow()}); }else{ logger.info("保存操作日志失败,参数不足【adminId:{},cityCode:{},opeDesc:{},opeTime:{}】",new Object[]{admin!=null?admin.getId():null, admin!=null?admin.getCityCode():null, opeDesc, DateUtils.getNow()}); } } catch (Exception e) { logger.error("保存操作日志异常,异常信息为:" + e.getMessage(), e); } } }
相关文章推荐
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service 空指针
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service(静态方法调用有注解的非静态方法)
- jsp页面中静态方法调用使用service的类,注入静态工具类使用service
- Spring 在静态工具类中使用注解注入bean
- spring 在静态工具类中使用注解注入bean
- spring 在静态工具类中使用注解注入bean
- 使用Spring注解,在静态方法中注入bean
- Spring注入service为null另类解决办法 工具类 一般类 静态 非controller
- 关于使用spring注解注入静态属性
- 静态 方法中使用Autowired注解的service或dao的问题
- 解决 SpringMvc 非controller类使用@Autowired注解 service注入为null的问题
- @webservice 注解的类中使用@Autowired 进行bean注入,注入的bean调用时为空的问题
- Spring注入service为null另类解决办法 工具类 一般类 静态 非controller