zoukankan      html  css  js  c++  java
  • java定时器无法自动注入的问题解析(原来Spring定时器可以这样注入service)

    近些日子在做一个项目,在项目中需要用到spring的定时任务,但是在操作数据库的时候发现总是不能正确的进行数据的插入,经过查看才发现:是因为service层不能够通过普通的方法注入到action,所以这样就不能够执行service层,进而执行数据库的操作。

    解决方法:这时需要配置一个service注入的工具类,代码如下:

    一、工具类

    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);  
            }  
        }

    二、配置bean

    <bean  id ="applicationContextUtil"  class ="org.sihai.soil.util.ApplicationContextUtil" ></bean >

    三、定时器中通过ApplicationContextUtil类,获得service。

    realmEbi = (RealmEbi) ApplicationContextUtil.getBean("realmEbi");
            realmEbi.insertHour(RealmApplianceModel.sendData3);

    完美解决了,这样我们就可以获取到service对象进行相对应的业务处理,而不需要再创建jdbc来操作了。

    java学习群669823128

  • 相关阅读:
    COGS 2104. [NOIP2015]神奇的幻方
    洛谷 P1387 最大正方形
    包和一些常用的模块
    模块
    模块的导入和使用
    函数迭代器与生成器
    函数的小知识
    函数的闭包和装饰器
    函数的进阶
    初识函数
  • 原文地址:https://www.cnblogs.com/rese-t/p/8321773.html
Copyright © 2011-2022 走看看