一. Spring 整合Quartz前的准备
Quartz 定时任务框架的基本知识都讲解了,现在把这个定时框架 Quartz 整合到 Spring 项目里面。
Spring 整合 Quartz定时,就是将 Quartz框架的那三个元素, JobDetail,Trigger 和Scheduler 通过 配置文件的方式配置出来。
需要在 spring的配置文件里面, 分别对 JobDetail,Trigger,Scheduler 进行配置。
通俗点说, 就是 把创建 JobDetail,Trigger,Scheduler 的代码 变成配置文件。
在整合之前,需要 通过 Maven 创建一个 Spring 的项目。(关于Spring 项目的创建,老蝴蝶前面讲解了好多,这儿就不详细讲解了。)
一.一 配置 pom.xml 文件 ,添加依赖
不要忘记 spring-context-support 和 spring-jdbc 这两个依赖。
<dependencies> <!-- 添加webmvc的依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.4.RELEASE</version> </dependency> <!-- 第三方支持的jar包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.2.4.RELEASE</version> </dependency> <!-- spring 测试的包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.2.4.RELEASE</version> </dependency> <!--数据库的依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.2.4.RELEASE</version> </dependency> <!-- tomcat中的 servlet-api和 jsp-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- jstl 与 standard --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.22</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> <!-- jackson 依赖,用于处理json --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.11</version> </dependency> </dependencies> </project>
一.二 配置 web.xml 文件
<!-- UTF-8 编码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring mvc前端控制器 --> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 防 XSS --> <context-param> <param-name>defaultHtmlEscape</param-name> <param-value>true</param-value> </context-param>
一.三 配置 springmvc的配置文件
配置 springmvc.xml 文件,放置在 src/main/resource 文件夹下。
<!-- bean组件扫描 --> <context:component-scan base-package="com.yjl.action.quartz" /> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 静态资源 --> <mvc:resources location="/static/" mapping="/static/**" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/" /> <property name="suffix" value=".jsp" /> </bean>
一.四 运行服务器
运行服务器,是正常的, Spring 项目搭建成功。