public class AccountEmailServiceTest {
@Test
public void testSendMail() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("account-email.xml");
AccountEmailService accountEmailService = (AccountEmailService) ctx.getBean("accountEmailService");
String subject = "Test Subject";
String htmlText = "<h3>I Love You</h3>";
accountEmailService.sendMail("zhaoyan8783@qq.com", subject, htmlText);
}
}
前几天搞spring+hibernate+struts2,其中一些库的依赖关系搞的我头痛,所以为了避免重蹈覆辙,开始研究一下maven,对以后的项目开发管理都有帮助。
安装maven和安装eclipse插件的文章网上有很多,我就不多说了,默认我的电脑已经有了jdk5,安装了maven3,并安装了eclipse插件。
1.eclipse里建个maven项目:
项目目录基本都是固定的,如下:
在项目根目录下修改pom.xml,内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ease.account</groupId>
<artifactId>account-email</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>email</name>
<description>发送邮件</description>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
其中
<modelVersion>4.0.0</modelVersion>
<groupId>com.ease.account</groupId>
<artifactId>account-email</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>email</name>
<description>发送邮件</description>
是这个新建项目的坐标,
<dependencies>
........
</dependencies>
是项目依赖的库,当我们保存pom.xml文件的时候,maven会自动为我们下载XML文件中添加的依赖库,如图:
其中也包括一些上面没有显式声明依赖的,比如commons-logging-1.1.1.jar,那是因为spring-core-2.5.6.jar依赖commons-logging-1.1.1.jar,所以maven也把它下载了,spring-core依赖关系可以参考maven仓库中spring-core目录下的pom文件。
接下来编写具体类:
首先定义邮件发送接口,很简单,就一个方法
public interface AccountEmailService {
void sendMail(String to, String subject, String htmlText) throws Exception;
}
下面是实现类
public class AccountEmailServiceImpl implements AccountEmailService {
private JavaMailSender javaMailSender;
private String systemEmail;
public void sendMail(String to, String subject, String htmlText)
throws Exception {
try {
MimeMessage msg = javaMailSender.createMimeMessage();
MimeMessageHelper msgHelper = new MimeMessageHelper(msg);
msgHelper.setFrom(systemEmail);
msgHelper.setTo(to);
msgHelper.setSubject(subject);
msgHelper.setText(htmlText, true);
javaMailSender.send(msg);
} catch(MessagingException e) {
throw new Exception("发送邮件失败!", e);
}
}
public void setJavaMailSender(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
public void setSystemEmail(String systemEmail) {
this.systemEmail = systemEmail;
}
}
实现类中的实例属性都是通过spring注入进来,spring配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance"
xsl:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:service.properties"></property>
</bean>
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="protocol" value="${email.protocol}"></property>
<property name="host" value="${email.host}"></property>
<property name="port" value="${email.port}"></property>
<property name="username" value="${email.username}"></property>
<property name="password" value="${email.password}"></property>
<property name="javaMailProperties">
<props>
<prop key="mail.${email.protocol}.auth">${email.auth}</prop>
</props>
</property>
</bean>
<bean id="accountEmailService" class="com.ease.account.email.AccountEmailServiceImpl">
<property name="javaMailSender" ref="javaMailSender"></property>
<property name="systemEmail" value="${email.systemEmail}"></property>
</bean>
</beans>
配置文件中也用到了属性文件,这样更加灵活
email.protocol=smtps
email.host=smtp.gmail.com
email.port=465
email.username=***@gmail.com
email.password=***
email.auth=true
email.systemEmail=***@qq.com
最后,再写一个测试类
public class AccountEmailServiceTest {
@Test
public void testSendMail() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("account-email.xml");
AccountEmailService accountEmailService = (AccountEmailService) ctx.getBean("accountEmailService");
String subject = "Test Subject";
String htmlText = "<h3>I Love You</h3>";
accountEmailService.sendMail("zhaoyan8783@qq.com", subject, htmlText);
}
}
这个测试类中并没有断言,简单了点,呵呵
好的,最后就是maven大展身手的时候了,在项目名上或者pom.xml上点鼠标右键,如图:
执行Maven test,
如果CONSOLE中显示BUILD SUCCESS,则说明测试类成功执行了,并且,图片右下角显示我已经收到了这个邮件了,呵呵。
接下来我们要做的是打包项目,执行Run as下面的Maven install,执行OK以后,我们会在项目的target下面找到打包的文件,如图:
并且Maven已经把这个项目包放在了Maven仓库中,其它项目可以依赖使用。
源代码下载地址
http://download.csdn.net/detail/zhaoyan8783/4008290
- 大小: 9.9 KB
- 大小: 16.2 KB
- 大小: 25.5 KB
- 大小: 28 KB
- 大小: 39.9 KB
- 大小: 9.4 KB
分享到:
相关推荐
【标题】:“maven3搭建的spring邮件项目” 在IT领域,开发人员经常需要与用户进行交互,其中发送电子邮件是一种常见的通信方式。本项目利用Maven3构建了一个基于Spring框架的邮件服务,允许开发者轻松地集成邮件...
"maven3搭建的spring邮件工程"是一个这样的示例,它展示了如何利用Maven3这个强大的构建工具,配合Spring框架来实现邮件发送功能。下面我们将深入探讨这个工程涉及的关键技术点。 首先,**Maven3** 是一个项目管理...
下面将详细解释这三个框架的集成以及 EasyUI 和 Maven 在项目搭建中的作用。 **Spring 框架** Spring 是一个全面的企业级应用框架,它通过提供 DI 和 AOP 实现了松耦合,使得代码更易于测试和维护。DI 允许外部容器...
Spring Boot 是一个基于 Java 的框架,它简化了创建和配置微服务级的Spring应用程序的过程。...在实际开发中,你可以根据需求添加其他Spring Boot的起步依赖,如数据访问、安全控制、邮件服务等,以实现更丰富的功能。
在项目中引入了以下几个关键的Maven依赖: 1. **Spring Web MVC**: ```xml <groupId>org.springframework <artifactId>spring-webmvc <version>3.2.4.RELEASE ``` 这个依赖用于支持Spring MVC框架,它是...
在"springMVC-Maven"这个项目中,POM.xml文件就是项目的配置中心,它包含了项目的基本信息以及所需的依赖库,例如SpringMVC、Spring Core、Spring JDBC以及与MySQL数据库连接的相关驱动。 接下来,我们讨论...
1. 引入依赖:在项目中添加Spring、Spring MVC和MyBatis的Maven或Gradle依赖。 2. 配置Spring:定义Spring的配置文件,如`applicationContext.xml`,配置Bean,包括DataSource、SqlSessionFactory、...
【Eclipse Spring Boot Maven Web Demo 简单项目实例】是一个实用的学习资源,旨在帮助开发者快速搭建基于Spring Boot、Maven和Eclipse的Web应用程序。这个项目实例为初学者提供了良好的起点,让他们能够理解并实践...
在这个基于Maven的SSH框架搭建实例中,我们将探讨如何利用这些框架以及Maven构建工具来搭建一个完整的Web项目。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的功能,以实现松耦合和更好...
在搭建Spring框架时,通常将这些Jar包放入项目的`lib`目录或者添加到构建工具(如Maven或Gradle)的依赖管理中。使用IDE如Eclipse或IntelliJ IDEA,可以通过导入这些依赖自动完成项目的配置。在创建Spring配置文件...
在搭建Spring 3.x开发环境时,我们首先要理解Spring的核心概念和它在Java应用程序中的作用。Spring是一个开源的Java框架,主要用于简化企业级应用的开发,通过依赖注入(Dependency Injection, DI)和面向切面编程...
这些内容会详细介绍如何创建Spring Boot项目、如何配置Spring Boot、如何使用Spring Initializr初始化项目、以及如何使用Maven或Gradle构建工具。Spring Boot的配置文件(application.properties或application.yml)...
Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 ...maven搭建
本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...
Spring Boot是由Pivotal团队开发的用于简化Spring应用初始搭建以及开发过程的框架。它通过提供默认配置,使得开发者可以快速启动项目,而无需手动配置大量的XML或Java配置代码。Spring Boot的核心特性包括: 1. ...
这是一个基于Maven构建的多模块项目模板,涵盖了Spring MVC、Spring、Mybatis和RabbitMQ等关键技术。这个模板提供了一个完整的开发框架,方便开发者快速搭建企业级的Web应用程序。 首先,我们来看核心组件——Maven...
总结来说,非Maven环境下SSM框架的搭建涉及多个步骤,包括框架的下载、项目的目录结构、配置文件的编写、数据库连接的设定以及业务逻辑的实现。虽然不使用Maven简化了依赖管理,但手动管理jar包和配置可能会增加出错...
3. **自动配置(Auto Configuration)**:Spring Boot 根据项目中的依赖自动配置相应的Bean,例如,如果项目中有`spring-boot-starter-data-jpa`,那么Spring Boot将自动配置JPA的相关设置。 4. **应用运行器...
在压缩包中的 "spring-boot" 文件夹,可能包含了项目的源码结构,如 `src/main/java` 存放 Java 代码,`src/main/resources` 包含配置文件,`pom.xml` 是 Maven 的项目配置文件。通过查看这些文件,你可以了解项目...
3. **Spring MVC**:Spring MVC是Spring框架的一个模块,用于构建Web应用。它提供了一个分离式、模型-视图-控制器的架构,使得开发者可以独立地处理业务逻辑、用户界面和应用流程。 4. **Maven**:Maven是一个项目...