【架构】常用jar包的maven依赖于详解

一、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特点

    1. 验证逻辑与业务逻辑不再耦合
      摒弃原来不规范的验证逻辑散落的现象。

    2. 校验器各司其职,好维护,可复用,可扩展
      一个校验器(Validator)只负责某个属性或者对象的校验,可以做到职责单一,易于维护,并且可复用。

    3. 流式风格(Fluent Interface)调用
      借助Martin大神提倡的流式API风格,使用“惰性求值(Lazy evaluation)”式的链式调用,类似guava、Java8 stream API的使用体验。

    4. 使用注解方式验证
      可以装饰在属性上,减少硬编码量。

    5. 支持JSR 303 – Bean Validation标准
      或许你已经使用了Hibernate Validator,不用抛弃它,FluentValidator可以站在巨人的肩膀上。

    6. Spring良好集成
      校验器可以由Spring IoC容器托管。校验入参可以直接使用注解,配置好拦截器,核心业务逻辑完全没有验证逻辑的影子,干净利落。

    7. 回调给予你充分的自由度
      验证过程中发生的错误、异常,验证结果的返回,开发人员都可以定制。

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
    

你可能感兴趣的:(【架构】常用jar包的maven依赖于详解)