静态工具类中使用注解注入service
来源:互联网 发布:mac foobar 编辑:程序博客网 时间:2024/05/18 21:06
一般需要在一个工具类中使用@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);
- }
- }
- }
0 1
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service
- 静态工具类中使用注解注入service 空指针
- Spring 在静态工具类中使用注解注入bean
- spring 在静态工具类中使用注解注入bean
- jsp页面中静态方法调用使用service的类,注入静态工具类使用service
- java 静态工具类中注入service
- 静态工具类注入service的方法
- Spring在工具类中使用注解注入Bean
- Struts2 Action中使用注解注入调用service
- 使用Spring注解,在静态方法中注入bean
- 静态工具类中注入对象
- 工具类注入Service
- 基于注解的spring 在静态方法中使用注入的类
- 关于使用spring注解注入静态属性
- java工具类中注入service,dao类
- 如何在utils工具类中注入mapper service
- Linux下用netstat命令查看网络负载状况的一条语句
- 大白快快学JAVA学了JAVA找工作(1)
- 简单粗暴的解释css3中的transform属性
- C程序常用算法源码
- 解题报告 之 SGU438 The Glorious Karlutka River
- 静态工具类中使用注解注入service
- Chang'an(Palindrome Numbers-回文数字统计)
- C语言文件操作函数小结
- 【c语言】输出一个图形
- 排序算法
- 敏捷开发中高质量 Java 代码开发实践
- mysql 格式化日期
- 深入理解Java中的final关键字
- 批处理 压缩当前目录下的所有文件夹