一、junit
junit
junit
4.12
test
二、Spring
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-jms
${spring.version}
org.springframework.security
spring-security-web
${spring-security.version}
org.springframework.security
spring-security-config
${spring-security.version}
org.springframework.session
spring-session-data-redis
1.3.0.RELEASE
三、shiro(安全验证框架)
org.apache.shiro
shiro-core
${shiro.version}
org.apache.shiro
shiro-web
${shiro.version}
org.apache.shiro
shiro-quartz
${shiro.version}
org.apache.shiro
shiro-spring
${shiro.version}
四、MyBatis
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis-spring.version}
com.github.pagehelper
pagehelper
${mybatis-pagehelper.version}
org.mybatis.generator
mybatis-generator-core
${mybatis-generator.version}
五、dubbo
com.alibaba
dubbo
2.5.3
org.springframework
spring
六、zookeeper
com.github.sgroschupf
zkclient
0.1
七、velocity(模板引擎)
简介: https://my.oschina.net/aiguozhe/blog/39553
org.apache.velocity
velocity
1.7
八、ehcache(全局ehcache缓存)
net.sf.ehcache
ehcache
${ehcache.version}
org.mybatis
mybatis-ehcache
${mybatis-ehcache.version}
九、数据库连接与线程池
1、 Druid是一个JDBC组件,它包括三部分:
- DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
- DruidDataSource 高效可管理的数据库连接池。
- SQLParser
2、Druid功能
可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。
druid API : http://tool.oschina.net/apidocs/apidoc?api=druid0.26
mysql
mysql-connector-java
5.1.34
runtime
com.alibaba
druid
1.0.14
十、redis
redis.clients
jedis
2.9.0
org.springframework.data
spring-data-redis
1.7.5.RELEASE
十一、日志
org.slf4j
slf4j-api
1.7.12
org.slf4j
slf4j-log4j12
1.7.12
十二、文件上传
commons-io
commons-io
2.4
commons-fileupload
commons-fileupload
1.3.1
十三、hutool架包
hutool架包,一个通用的开源的JavaUtil,一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类
com.xiaoleilu
hutool-all
3.0.5
十四、swagger2
restful生成工具,但具体效果
- http://blog.didispace.com/springbootswagger2/
- https://my.oschina.net/zzuqiang/blog/793606
io.springfox
springfox-swagger2
2.4.0
io.springfox
springfox-swagger-ui
2.4.0
十五、Hibernate Validator
1、 JPA(java persistence api) 对象/关系映射机制
- 对象/关系映射元数据及API
- Java对象查询语言
- Java Criteria查询API
详解: http://blog.csdn.net/taiyangdao/article/details/50616399
2、 javax.validation
- 服务端的数据按照我们事先的约定进行数据有效性验证
示例: http://elim.iteye.com/blog/1025623
3、hibernate-validator
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=, min=) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
Hibernate Validator 附加的 constraint
@NotBlank(message =) 验证字符串非null,且长度必须大于0
@Email 被注释的元素必须是电子邮箱地址
@Length(min=,max=) 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range(min=,max=,message=) 被注释的元素必须在合适的范围内
3、fluent-validator
简介: http://neoremind.com/2016/02/java%E7%9A%84%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E9%AA%8C%E8%AF%81%E6%A1%86%E6%9E%B6fluent-validator/
Java的业务逻辑验证框架fluent-validator
-
FluentValidator特点
验证逻辑与业务逻辑不再耦合
摒弃原来不规范的验证逻辑散落的现象。校验器各司其职,好维护,可复用,可扩展
一个校验器(Validator)只负责某个属性或者对象的校验,可以做到职责单一,易于维护,并且可复用。流式风格(Fluent Interface)调用
借助Martin大神提倡的流式API风格,使用“惰性求值(Lazy evaluation)”式的链式调用,类似guava、Java8 stream API的使用体验。使用注解方式验证
可以装饰在属性上,减少硬编码量。支持JSR 303 – Bean Validation标准
或许你已经使用了Hibernate Validator,不用抛弃它,FluentValidator可以站在巨人的肩膀上。Spring良好集成
校验器可以由Spring IoC容器托管。校验入参可以直接使用注解,配置好拦截器,核心业务逻辑完全没有验证逻辑的影子,干净利落。回调给予你充分的自由度
验证过程中发生的错误、异常,验证结果的返回,开发人员都可以定制。
https://my.oschina.net/rockfate/blog/794295
示例: http://blog.csdn.net/wuyt2008/article/details/8597312
javax.persistence
persistence-api
1.0.2
javax.validation
validation-api
1.1.0.Final
org.hibernate
hibernate-validator
5.2.2.Final
com.baidu.unbiz
fluent-validator
1.0.6
十六、Thymeleaf
1、简介
- Thymeleaf是一款优秀的模板引擎,它在HTML5/XHTML的视图层表现的很好,也能在离线情况下处理任何XML文件。它是完全可以替代JSP+JSTL的。
2、示例
- www.tuicool.com/search?kw=Java模板引擎+Thymeleaf
org.thymeleaf
thymeleaf-spring4
${thymeleaf.version}
十六、ActiveMQ
1、简介
- activemq是JMS消息通信规范的一个实现。总的来说,消息规范里面定义最常见的几种消息通信模式主要有发布-订阅、点对点这两种。另外,通过结合这些模式的具体应用,我们在处理某些应用场景的时候也衍生出来了一种请求应答的模式。
2、示例
- http://shmilyaw-hotmail-com.iteye.com/blog/1897635
- http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html
org.apache.activemq
activemq-core
5.7.0
十七、JSON
1、json-lib
-
简介
- Json-lib包是一个Java类库,提供将Java对象(包括:beans,maps,collections,java arrays 和 XML等)和JSON互相转换的功能
-
示例
- http://blog.csdn.net/douxiaoning1987/article/details/9170199
2、fastjson
-
简介
-
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
- 速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
- 功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;
- 无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
-
-
示例
- http://blog.csdn.net/guwei9111986/article/details/51649240
3、jackson-caon/jackson-databind/jackson-annotations
- 示例
- http://blog.csdn.net/nomousewch/article/details/8949899
net.sf.json-lib
json-lib
2.4
jdk15
com.alibaba
fastjson
1.2.28
com.fasterxml.jackson.core
jackson-core
2.6.5
com.fasterxml.jackson.core
jackson-databind
2.6.5
com.fasterxml.jackson.core
jackson-annotations
2.6.5
十八、javax.mail
1、简介
- Java发送邮件javax.mail
javax.mail
mail
1.4.7
十九、httpclient
1、简介
- 提供对http服务器的访问功能,HttpComponents项目就是专门设计来简化HTTP客户端与服务器进行各种通讯编程。通过它可以让原来很头疼的事情现在轻松的解决,例如你不再管是HTTP或者HTTPS的通讯方式,告诉它你想使用HTTPS方式,剩下的事情交给 httpclient替你完成
2、示例
- http://blog.csdn.net/wjrong_1/article/details/51114233
org.apache.httpcomponents
httpclient
4.5.2
二十、aspectjweaver
1、AOP动态代理的实现
org.aspectj
aspectjweaver
1.8.8
二十一、servlet-api
1简介
- http://www.cnblogs.com/ellisonDon/archive/2012/10/24/2737835.html
javax.servlet
servlet-api
2.5
provided
二十二、jstl
1、简介
JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!
http://blog.csdn.net/qq_25827845/article/details/53311722
javax.servlet
jstl
1.2
二十三、maven-surefire-plugin
1、简介
http://www.tuicool.com/articles/uaqyAn
maven-surefire-plugin 是maven里执行测试用例的插件,不显示配置就会用默认配置。这个插件的 surefire:test 命令会默认绑定maven执行的 test 阶段。
yhb-common
org.apache.maven.plugins
maven-surefire-plugin
2.18.1
true
true
常用common
1、commons-beanutils
- 作用
commons-beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包。使用commons-beanutils,我们可以很方便的对bean对象的属性进行操作
- 示例
http://blog.csdn.net/jianggujin/article/details/51104949
commons-beanutils
commons-beanutils
1.9.3
2、commons-lang
-
commons-lang包中对我们有用的类主要有:
StringUtils 该类主要提供对字符串的操作,对null是安全的,主要提供了字符串查找,替换,分割,去空白,去掉非法字符等等操作
ObjectUtils 主要是对null进行安全处理,可以设置为null时的默认返回值,比较相等时是调用对象的equals方法,因此需要对对象进行方法进行覆盖
SystemUtils 主要获取一些系统属性,例如工作目录等等
DateUtils/CalendarUtils 主要提供了对日期的操作,包括日期加减,日期格式化,日期比较,一定时间范围内日期的迭代等等
StopWatch 提供秒表的计时,暂停等功能
EqualsBuilder/HashCodeBuilder提供了方便的方法来覆盖equals() 和hashCode()方法
以Range结尾的类主要提供一些范围的操作,包括判断某些字符,数字等是否在这个范围以内
ArrayUtils 提供了数组的复制,查找,获取子数组,反转等功能
commons-lang
commons-lang
2.6
3、commons-codec
- 是项目中用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64,URL,Soundx等等。不仅是编码,也可用于解码。
commons-codec
commons-codec
1.10
4、commons-compress
Compress是ApacheCommons提供压缩、解压缩文件的类库,可以操作ar, cpio, Unix dump, tar, zip,gzip, XZ, Pack200 and bzip2格式的文件
org.apache.commons
commons-compress
1.12