Spring定时器执行一个方法,方法内调用Dao接口的实现类,Dao通过Spring框架注入,但是执行后输出值
private searchDataDao dao;
private List<searchData> list;
public void InsertData(){
System.out.println("定时程序进入");
System.out.println(dao);
list=dao.findAll();
System.out.println("查询后数据"+list.size());
Dao接口:
public interface searchDataDao {
List<searchData> findAll();
}
Dao接口的实现类:
public List<searchData> findAll() {
String hql="from searchData ";
Session session=getSessionFactory().openSession();
Query query=session.createQuery(hql);
System.out.println("查询数据库");
List<searchData> list= query.list();
System.out.println("查询的数据是"+list.get(0));
session.close();
return list;
Spring配置文件:
<bean id="QuartzJob" class="com.gtjc.quartz.QuartzJob" scope="prototype">
<property name="dao" ref="searchDataDao"></property>
</bean>
<bean id="searchDataDao" class="com.gtjc.quartz.dao.impl.searchDataDaoImpl"
scope="singleton">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
定时器配置文件:
<!-- 配置作业类 -->
<bean id="job2"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<bean class="com.gtjc.quartz.QuartzJob" />
</property>
<property name="targetMethod" value="InsertData" />
<property name="concurrent" value="false" /> <!-- 作业不并发调度 -->
</bean>
<!-- 配置作业调度的触发方式(触发器) -->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="job2" />
<property name="startDelay" value="5000" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->
<property name="repeatInterval" value="10000" /><!-- 每2秒调度一次 -->
</bean>
<!-- 配置调度工厂 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
相关推荐
Spring+myBatis 整合两种方法,一种是dao 整合,一种是mapper接口代理
需要数据库,可以自行建立,建立一个tb_user 表,表中主要有id ,username loginname,password,phone,address几个字段。
SSM框架下基本的mapper,dao,service,controller等相关文件的整理
SSM框架下基本的mapper,dao,service,controller等相关文件的整理
JSP 开发之servlet中调用注入spring管理的dao
JSP 开发之servlet中调用注入spring管理的dao 我们用spring的依赖注入可以将dao注入到action中,然后我们就可以直接调用了dao中的方法了,可是servlet不是由spring容器管理,所以在servlet中不能注入dao类,也就不能用dao中的方法。 下面是实现方法: private UserDao userDao; public void init() throws ServletException { super.init(); ServletContext servletContext = this.getServletCont
Spring框架如何使用P命名空间进行注入
主要介绍了Spring框架如何使用P命名空间进行注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
详解 MapperScannerConfigurer之sqlSessionFactory注入方式
主要介绍了详解 MapperScannerConfigurer之sqlSessionFactory注入方式的相关资料,需要的朋友可以参考下


