这次来看看Spring提高的一些有用过的JEE中使用到的功能,如 发送Email, 执行定时任务... 先来看看发送Email吧, 在Spring中发送Email是很简单的,使用Spring提高的MailSender和MailMessage就可以了,配置代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" > <beans> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <value>smtp.163.com</value> </property> <property name="javaMailProperties"> <props> <!-- 如果要使用用户名和密码验证,这一步需要 --> <prop key="mail.smtp.auth">true</prop> </props> </property> <property name="username"> <value>你的Email地址</value> </property> <property name="password"> <value>你的Email密码</value> </property> </bean> <!-- 简单的message --> <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"> <property name="to"> <value>收件人地址</value> </property> <property name="from"> <value>你的地址</value> </property> <property name="subject"> <!-- Email 标题 --> <value>A Spring Mail sender</value> </property> </bean> <!-- 测试发送的类 --> <bean id="testMailSender" class="test.mail.TestSenderMail"> <property name="mailMessage"> <ref bean="mailMessage"/> </property> <property name="mailSender"> <ref bean="mailSender"/> </property> </bean> </beans> 上面的配置好以后就可以直接发送了, 看看TestSenderMail.java的代码: package test.mail; import org.springframework.mail.MailException; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; public class TestSenderMail { private MailSender mailSender; private SimpleMailMessage mailMessage; public TestSenderMail() { } public SimpleMailMessage getMailMessage() { return mailMessage; } public void setMailMessage(SimpleMailMessage mailMessage) { this.mailMessage = mailMessage; } public MailSender getMailSender() { return mailSender; } public void setMailSender(MailSender mailSender) { this.mailSender = mailSender; } public void sendMail() { SimpleMailMessage message = new SimpleMailMessage(mailMessage); //设置email内容, message.setText("测试Spring 发送Email."); try { mailSender.send(message); } catch (MailException e) { // TODO Auto-generated catch block System.out.println("O . 发送Email失败了...."); e.printStackTrace(); } } } 很简单吧. 下面是测试类: TestApp.java package test.mail; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ApplicationContext context = new ClassPathXmlApplicationContext( "test/mail/mail.xml"); TestSenderMail sender = (TestSenderMail) context .getBean("testMailSender"); sender.sendMail(); } //抛出如下异常,是瑞星监控的问题,关闭就可以了 /** * DEBUG SMTP: QUIT failed with 250 O . 发送Email失败了.... * org.springframework.mail.MailSendException: Could not send mails: 354 * * com.sun.mail.smtp.SMTPSendFailedException: 354 * * at * com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388) * at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1215) at * com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:586) */ } 呵呵, 现在就可以发送Email了.