@Inject、@Value、@Scheduled

一  @Inject :   @Inject注解和Spring的@Autoware注解都是根据类型对其进行自动装配(需要一个 javax.inject-1.jar包)
 二  @Value: 在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件   中的文件,进行键值对的注入
 
<!-- properties  
        <context:property-placeholder location="classpath:local.properties"/>
    -->
< bean  id = "configBean"
     class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
     < property  name = "locations" >
         < list >
              < value >classpath:local.properties </ value >
         </ list >
     </ property >
</ bean >
 设置local.propertis文件的键值对

在Java代码中注入
@ Value( value = "${SimoFixedRate}")
private  int  id;

三  @Scheduled 创建定时任务。(或者可以使用配置文件方式的Quartz,但是配置太多) 
首先配置spring的配置文件头部加入
    xmlns:task = "http://www.springframework.org/schema/task"
  1. http://www.springframework.org/schema/task  ;
  2. http://www.springframework.org/schema/task/spring-task-3.1.xsd  
  3.  =======================配置正文中=============
  4. <task:annotation-driven/>  <!--注解扫描-->
  5.   <context:component-scan base-package="com.test"/>  <!--扫描包位置-->  
   
书写java类。类前必须有
@Service、 @Component、 @Controller、 @Repository 任意一标注
 
@ Service
public  class  TimeHelper {
    @ Value( value = "${SimoFixedRate}")
     private  int  id;
     /**
     * 值 fixedDelay=2000 还有别的参数这里为long 毫秒
     */
    @ Scheduled( cron = "0/${time} * *  * * ? ")
     public  void  doing(){
        
    }
}
下面的摘自网络
  "0 0 12 * * ?"    每天中午十二点触发 
"0 15 10 ? * *"    每天早上10:15触发 
"0 15 10 * * ?"    每天早上10:15触发 
"0 15 10 * * ? *"    每天早上10:15触发 
"0 15 10 * * ? 2005"    2005年的每天早上10:15触发 
"0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发 
"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发 
"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 
"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发 
"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 
"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发 

你可能感兴趣的:(java,spring,springMVC,quartz,任务调度)