java定时器无法自动注入的问题解析

最近公司在做对账单,要求定时自动执行,于是从网上查了各种定时器用法,最终没有一个是好用的,发现service层无法自动注入的原因导致,至于是什么原因导致无法注入,我还是不晓得,希望有这方面经验的同僚给出建议。

我是将定时器的初始化放入到servlet中饭控制的,当然放入到监听器中也是可以的,看自己的喜好。

为了获取到这个注入对象,只能我们手动注入了,就是通过获取上下文对象,然后再对这个对象进行解析,然后取出自己所要的那个对像。下面我贴出一个方法,以便大家后期使用时可以方便问题的解决。

public class ApplicationContextUtil implements ApplicationContextAware {
	private static ApplicationContext applicationContext;

	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}

	public void setApplicationContext(ApplicationContext applicationContext) {
		ApplicationContextUtil.applicationContext = applicationContext;
	}

	public static Object getBean(String beanName) {
		return applicationContext.getBean(beanName);
	}
}
这个是获取的方法,我们还要做的就是在Spring的配置文件中加一句话,对这个方法进行声明配置

<bean  id ="applicationContextUtil"  class ="com.wisdom.trip.util.ApplicationContextUtil" ></bean >

大家根据自己的项目进行修改设置。

在使用时一定要确定自己要的这个对象已经配置到Spring文件中了。


以上是我根据网友的意见和自己的实践总结出来的,亲测好用,欢迎大家提供更好的方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值