java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > @Autowired注入service为null

@Autowired注入service为null的问题及解决方案

作者:未来@音律

这篇文章主要介绍了@Autowired注入service为null的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

@Autowired注入service为null

今天在一个普通类中注入service时出现了一个问题,我用@Autowired注入的service为null。

最终我是通过以下方案解决

1.在类上标注该类为组件也就是@Component

2.静态初始化当前类

3.在初始化service的方法上加上注解@PostConstruct,这样方法就会在Bean初始化之后被Spring容器执行

4.调用时通过类来调用

@Component
public class LogUtil {
	@Autowired
        private LogService logService;
	private static LogUtil logUtil;  // 静态初使化当前类
	
	public static void saveLog(String userName, String result) {
		Log log = new Log(userName+"",  result);
		try {
			
			logUtil.logService.add(log);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	@PostConstruct 
    public void init() {
		logUtil = this;
		logUtil.logService = this.logService;

    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文