工作中经常会定时的处理一些事情(比如发送邮件),那么如何让系统来帮我完成这些呢,临时起意决定写一个简单的Demo。
Demo采用的技术是spring+mybatis+quartz+logback,其中发送邮件的功能使用的是JDK的javax.Mail(并不在jdk函数库中,需要加入)
此博文并不涉及代码,只是会将编码过程中遇到的一些问题记录下来,以便以后回顾。
spring整合mybatis时遇到的问题:
1、缺少jar包或jar包之间冲突(所需的jar大概为 mybatis、mybatis-spring、jdbc驱动、dbcp(c3p0)连接池、spring-jdbc、spring-context);
2、spring配置文件头xsi 应为偶数个 <
< beans xsi:schemaLocatio
3、mapper配置文件一直报错,原因未知,重写后解决。
配置邮件服务器时遇到的问题:
1、使用QQ发送邮件时,需在QQ开启SMFP服务,并取得个人授权码
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.qq.com"></property> <property name="port" value="465"></property> <property name="username" value="xxxx@qq.com"></property> <property name="password" value="xxxxxx"></property> <property name="protocol" value="smtp"></property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.timeout">25000</prop> <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> </props> </property> <property name="defaultEncoding" value="UTF-8"></property> </bean>
spring整合quartz时遇到的问题:
Spring整合quartz时有两种方法:
1、继承QuartJobBean,并在配置文件中进行相应配置;
2、无需继承任何类,在配置文件中配置jobDetail时指定 targetobject和targetMethod。
将从数据库查出来对象封装成Excel进行定时发送,需要借助poi,在Pom.xml中加入下列依赖
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency>