标签:show 数据库 表达 ott oca 数据 业务逻辑 列表 间隔
package serivce;
import java.util.List;
import entity.Book;
/**
* 图书信息业务逻辑层接口
* @author 尹涛
*
*/
public interface BookSerivce {
/**
* 获取所有图书信息
* @return 图书列表
*/
public List<Book> getAll();
public void show();
}
上面的serivce代码段 与dao层代码基本一致
下面的的代码为serivce实现类代码主要用于测试任务调度
package serivce.impl;
import java.util.List;
import dao.BookDao;
import entity.Book;
import serivce.BookSerivce;
/**
* 业务逻辑层接口实现类
* @author 尹涛
*
*/
public class BookSerivceImpl implements BookSerivce {
private BookDao bd; //数据访问层对象
public void setBd(BookDao bd) {
this.bd = bd;
}
@Override
public List<Book> getAll() {
List<Book> books=bd.getAll();
System.out.println("书名\t作者");
for (Book book : books) {
System.out.println(book.getName()+"\t"+book.getAuthor());
}
System.out.println("\n");
return bd.getAll();
}
@Override
public void show() {
System.out.println("执行了指定时间段代码.....");
bd.show();
}
}
下面就是主要的重点配置Spring的applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<!--定义dbcp数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!-- 指定JDBC驱动类 -->
<property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>
<!-- 提供链接数据库的URL地址 -->
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<!-- 提供链接数据库的用户名和密码 -->
<property name="username" value="scott"></property>
<property name="password" value="bdqn"></property>
</bean>
<!-- 定义 SessionFactory bean-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 为LocalSessionFactoryBean注入定义好的数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 添加对象关系映射文件 -->
<property name="mappingDirectoryLocations">
<list>
<!-- src目录下的 entity包-->
<value>classpath:entity</value>
</list>
</property>
</bean>
<!-- 注入dao层 -->
<bean id="bookDao" class="dao.impl.BookDaoImpl" p:sessionFactory-ref="sessionFactory"></bean>
<!-- 注入Serivce层 -->
<bean id="bookSerivce" class="serivce.impl.BookSerivceImpl" p:bd-ref="bookDao"></bean>
<!-- 配置任务对象 该bean为间隔时间执行-->
<bean id="remindjob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 配置要调用的类:你要作为任务类的那个javaBean对象 -->
<property name="targetObject" ref="bookSerivce"></property>
<!-- 配置要调用的方法:你要作为任务方法的那个业务方法 -->
<property name="targetMethod" value="getAll"></property>
</bean>
<!-- 配置任务对象 该bean为指定时间执行-->
<bean id="remindjob2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 配置要调用的类:你要作为任务类的那个javaBean对象 -->
<property name="targetObject" ref="bookSerivce"></property>
<!-- 配置要调用的方法:你要作为任务方法的那个业务方法 -->
<property name="targetMethod" value="show"></property>
</bean>
<!-- 配置触发器 间隔多长时间触发 -->
<bean id="mysimpTrig"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!--配置JobDetail ref-引用 上面配置的任务对象 -->
<property name="jobDetail" ref="remindjob"></property>
<!-- 配置启动后延迟1秒执行 1000毫秒-->
<property name="startDelay" value="1000"></property>
<!-- 配置重复执行的时间间隔为5秒 -->
<property name="repeatInterval" value="5000"></property>
</bean>
<!-- 配置触发器 为指定时间执行 -->
<bean id="mycronTrig" class="org.springframework.scheduling.quartz.CronTriggerBean">
<!-- 注入任务类 -->
<property name="jobDetail" ref="remindjob2"></property>
<!-- 配置Cron表达式 顺序为 秒 分 时 天 月 星期 年 也就是星期一到星期五天22点执行-->
<property name="cronExpression" value="0 54 22 ? * 2-6"></property>
</bean>
<!-- 配置调度器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 指定触发器 间隔时间段执行-->
<ref bean="mysimpTrig"/>
<!-- 指定时间执行 -->
<ref bean="mycronTrig"/>
</list>
</property>
</bean>
</beans>
标签:show 数据库 表达 ott oca 数据 业务逻辑 列表 间隔
原文地址:http://www.cnblogs.com/AnotherEon001/p/6828459.html