示例如下 :
applicationContext.xml文件的匹配如下 :
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans 3 xmlns="http://www.springframework.org/schema/beans" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xmlns:p="http://www.springframework.org/schema/p" 6 xmlns:aop="http://www.springframework.org/schema/aop" 7 xmlns:tx="http://www.springframework.org/schema/tx" 8 xsi:schemaLocation="http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 10 http://www.springframework.org/schema/aop 11 http://www.springframework.org/schema/aop/spring-aop.xsd 12 http://www.springframework.org/schema/tx 13 http://www.springframework.org/schema/tx/spring-tx.xsd"> 14 15 16 <bean id="sessionFactory" 17 class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 18 <property name="configLocation" 19 value="classpath:hibernate.cfg.xml"> 20 </property> 21 </bean> 22 23 <!-- 定义环绕增强bean --> 24 <bean id="aroundAdvice" class="cn.bd.jboa.advice.AroundAdviceLogger"></bean> 25 26 <!-- 定义事务管理器 --> 27 <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 28 <property name="sessionFactory" ref="sessionFactory"></property> 29 </bean> 30 31 <!-- 定义事务增强 --> 32 <tx:advice id="txAdvice" transaction-manager="transactionManager"> 33 <tx:attributes> <!-- 定义事务规则 --> 34 <tx:method name="login*" read-only="true"/> 35 <tx:method name="find*" read-only="true"/> 36 <tx:method name="search*" read-only="true"/> 37 <tx:method name="query*" read-only="true"/> 38 <tx:method name="save*" propagation="REQUIRED"/> 39 <tx:method name="add*" propagation="REQUIRED"/> 40 <tx:method name="merge*" propagation="REQUIRED"/> 41 <tx:method name="delete*" propagation="REQUIRED"/> 42 <tx:method name="del*" propagation="REQUIRED"/> 43 <tx:method name="update*" propagation="REQUIRED"/> 44 <tx:method name="do*" propagation="REQUIRED"/> 45 <tx:method name="check*" propagation="REQUIRED"/> 46 <tx:method name="*" propagation="REQUIRED" read-only="true"/> 47 </tx:attributes> 48 </tx:advice> 49 50 <!-- 定义切面 --> 51 <aop:config> 52 <!-- 定义切入点 --> 53 <aop:pointcut expression="execution(* cn.bd.jboa.service.impl.*.*(..))" id="pointcut"/> 54 <!-- 将事务增强与切入点组合 --> 55 <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/> 56 57 <aop:advisor advice-ref="aroundAdvice" pointcut-ref="pointcut"/> <!-- 将环绕增强和切入点组合 --> 58 </aop:config> 59 60 61 <!-- 配置提醒服务类bean,用来指定执行什么操作 --> 62 <bean id="timingSave" class="cn.bd.jboa.action.TimingSaveAction"></bean> 63 64 <!-- 配置MethodInvokingJobDetailFactoryBean --> 65 <bean name="jobDetailFactory" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 66 <!-- 配置要调用的类 --> 67 <property name="targetObject" ref="timingSave"></property> 68 <!-- 配置要调用的方法 --> 69 <property name="targetMethod" value="saveBizClaimVoucher"></property> 70 </bean> 71 72 <!-- 配置触发器 --> 73 <bean name="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 74 <!-- 配置JobDetail --> 75 <property name="jobDetail" ref="jobDetailFactory"></property> 76 <!-- 配置Cron表达式 --> 77 <property name="cronExpression" value="1 * * 15 * ?"></property> 78 </bean> 79 80 <!-- 配置调试器 --> 81 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 82 <property name="triggers"> 83 <list> 84 <!-- 指定触发器 --> 85 <ref bean="myTrigger"/> 86 <!-- 可以在这里添加更多其他的触发器 --> 87 </list> 88 </property> 89 </bean> 90 91 </beans>
1 package cn.bd.jboa.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 /** 6 * 7 * @author TaoXianXue 8 * 9 */ 10 public class TimingSaveAction extends ActionSupport{ 11 12 /** 13 * 14 */ 15 private static final long serialVersionUID = 1L; 16 17 18 /** 19 * 可以在这里编写你要执行什么的操作 20 */ 21 public void saveBizClaimVoucher(){ 22 23 } 24 25 }