Java:使用Spring Mail发送邮件

发送邮件

本项目源码在:https://coding.net/u/pruidong/p/SpringEmailDemo/git

之前简单使用过Java Email发送邮件,但最近接触了Spring Mail组件之后,发现在之前的基础上更加方便了.本文的内容参照了:Spring Mail官方文档,以及Thymeleaf官方示例.但对部分内容进行了修改和优化,也使得发送邮件变得更加简单.

有两点需要说明的是:

  1. 本文不会贴完所有的资源,可以前往[项目地址]获取所有源码;
  2. 项目基于Maven构建,并且不需要Spring Web MVC(也就是不需要在Tomcat中运行),配置相关邮箱信息之后,直接在控制台运行即可
Spring Mail发送邮件项目结构图
Spring Mail发送邮件项目结构图

部分源码

直接使用下面的源码无法构建出完整项目,因为有部分图片、模板文件(HTML,txt)未贴出,贴出下面的代码,仅作为参考依据.完整源码可以访问项目地址

Maven依赖文件(pom.xml):

java标志

配置邮箱地址、邮箱服务器信息(base.properties):

Spring的配置文件(AppInitial.java):

发送纯文本邮件(未使用模板,SendTextEmail.java):

发送带附件的邮件(SendFileEmail.java):

使用Thymeleaf发送模板邮件(参照了Thymeleaf官方示例,有部分改动):

运行测试类(Main.java):

到此.

Java:DOM4J解析带命名空间的XML

XML解析

在Java中,XML有多种方式可以解析.但用的比较多的还是DOM4J,对于带命名空间的XML解析,DOM4J官网并没有提供例子.下面的工厂类来自网络,我只是在其中增加了几个方法.另外,下面代码基于jdk1.8.

解析所使用的XML源文件:

java

源码

Vue:切换class模拟实现tab

实现个切换

其实就是翻译了jQuery的removeClass和addClass,只是在Vue里面使用了变量去切换.

vuejs logo

运行效果

vuejs tab 运行效果

源码

源码比较简单,引用了bootcss的cdn服务.

JdbcTemplate:实现分页功能

实现分页

在数据多的时候,不分页JVM就会挂掉.由于是用的JdbcTemplate,所以就研究了下JdbcTemplate的分页.记录如下.

java

源码

部分代码,后面看时间更新为完整.

分页实体类:

生成分页的SQL语句:

InterSystems Cache 数据库的分页工具类(下面有MySQL的):

分页查询组件:

MySQL分页实现:

Oracle分页实现:

Maven:No compiler is provided in this environment

问题

在执行maven install的时候,提示如下错误:

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

maven logo

解决

解决办法是:
1.多project clear几次项目,project clear之后不要运行maven clear;
2.在maven的conf/settings.xml中,添加如下代码即可(依照版本来,我这里是jdk 1.8就写1.8):