package com.gblfy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import javax.servlet.jsp.tagext.PageData;
/**
* @author gblfy
* @ClassNme BaseCommon
*/
@Component//关键点 1 为spring组件
public class BaseCommon {
//添加所需mConfigParamService的私有成员
@Autowired
private ConfigParamService mConfigParamService;
//关键点2 静态初使化 一个工具类 这样是为了在spring初使化之前
private static BaseCommon baseCommon;
//关键 3 通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
@PostConstruct
public void init() {
baseCommon = this;
// 初使化时将已静态化的configParam实例化
baseCommon.mConfigParamService = this.mConfigParamService;
}
/**
*保存数据
* @param serviceName
* @throws Exception
*/
@Transactional
public void save(String serviceName) throws Exception {
//关键点 4 调用时请使用 此类静态变量 .对象 例如:baseCommon.configParam
//这里要加上baseCommon,如果直接用mConfigParamService还是为null
baseCommon.mConfigParamService.save(serviceName);
System.out.println("返回参数" + params);
}
}
使用@Component注解的工具类,用@Autowired注入 @Service或者@Repository 报空指针问题的解决
最新推荐文章于 2024-02-05 15:27:57 发布