Web开发常用公共jar包解析以及Pom公共依赖配置

Spring:

1.spring-core

spring核心组件,被其它包所引用

2.spring-beans

Bean 的定义、Bean 的创建以及对 Bean 的解析

3.spring-context

给Bean提供运行时的环境,为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类 

Spring三大组件详解

4.spring-expression

spring表达式语言 spring表达式语言(SPEL)

5.spring-test spring单元测试

6.spring-aop 

包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。

使用基于AOP 的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。

spring AOP详解

7.spring-aspects 

提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中

8.spring-context-support

包含支持缓存Cache(ehcache)、JCA、JMX、 邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。

9.spring-jdbc

包含对Spring 对JDBC 数据访问进行封装的所有类

10.spring-tx

为JDBC、Hibernate、JDO、JPA、Beans等提供的一致的声明式和编程式事务管理支持。

11.spring-jms

提供了对JMS 1.0.2/1.1的支持类

12.spring-messaging

spring-messaging模块为集成messaging api和消息协议提供支持

13.spring-orm

包含Spring对DAO特性集进行了扩展,使其支持iBATIS、JDO、OJB、TopLink,  因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包。


AspectJ:

1.aspectjrt 处理事务和AOP所需的包

2.aspectjweaver spring的切入点表达式需要用的包


JSR(Java Specification Requests)

1.javax.validation -validation-api 参数校验框架 参数校验最佳实践

2.org.hibernate-hibernate-validator 提供了一些常用的参数校验注解


CGLIB(Code Generation Library)

CGLIB详解


Junit

Java测试框架


commons

1.commons-lang3 常用的一些工具类

2.commons-io 处理io流的工具,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码。

commons-io学习

3.commons-beanutils 包括大量和JavaBean操作有关的工具方法,使用它能够轻松利用Java反射机制来完毕代码中所须要的功能,而不须要具体研究反射的原理和使用,同一时候,该类库中提出了动态Bean的概念,不但提供现有JavaBean的全部功能,并且还能够在执行时动态的对Bean中的属性数据类型进行改动以及增删属性。

commons-beanutil学习


日志类:

1.commons-logging apache 最早提供的日志的门面接口。避免和具体的日志方案直接耦合。类似于JDBC的api接口,具体的的JDBC driver实现由各数据库提供商实现。通过统一接口解耦,不过其内部也实现了一些简单日志方案

2.log4j(for Java)经典的一种日志解决方案。内部把日志系统抽象封装成Logger、appender、pattern等实现。我们可以通过配置文件轻松的实现日志系统的管理和多样化配置。

3.slf4j(simple logging facade for Java)Java简单日志门面。是对不同日志框架提供的一个门面封装。可以在部署的时候不修改任何配置即可接入一种日志实现方案,开发时常用

Java日志

附pomyila依赖配置:

 <properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
		<java.source.version>${java.version}</java.source.version>
		<java.target.version>${java.version}</java.target.version>
		<slf4j.version>1.7.25</slf4j.version>
		<log4j.version>1.2.17</log4j.version>
		<commons.pool2.version>2.4.2</commons.pool2.version>
		<commons.beanutils.version>1.9.3</commons.beanutils.version>
		
        <maven.scm.view.url></maven.scm.view.url>
        <maven.scm.connection.url></maven.scm.connection.url>
        <maven.issue.man.url></maven.issue.man.url>
        <maven.ci.man.url></maven.ci.man.url>
        
        <spring.bom.version>4.3.6.RELEASE</spring.bom.version>
        <aspectj.version>1.8.13</aspectj.version>
        <validation.version>1.1.0.Final</validation.version>
		<hibernate.validator.version>5.4.1.Final</hibernate.validator.version>
		<mysql.connector.version>5.1.40</mysql.connector.version>
		<druid.version>1.0.13</druid.version>
		<cglib.version>2.2.2</cglib.version>
		
		<com.alibaba.fastjson.version>1.2.3</com.alibaba.fastjson.version>
        <junit.version>4.12</junit.version>
        <commons-lang.version>3.3.2</commons-lang.version>
        <commons-io.version>2.4</commons-io.version>
        <commons-beanutils.version>1.8.3</commons-beanutils.version>
        <commons-net.version>3.4</commons-net.version>
        <commons-fileupload.version>1.2.2</commons-fileupload.version> 
        <shiro.version>1.3.2</shiro.version>
        
        <jedis.version>2.9.0</jedis.version>
    </properties>
    
    <dependencies>
       <!-- Spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-core</artifactId>
				<version>${spring.bom.version}</version>
				<exclusions>
					<!-- 去除commons-logging依赖,使用slf4j替代 -->
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-beans</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>${spring.bom.version}</version>
				<exclusions>
					<!-- 去除commons-logging依赖,使用slf4j替代 -->
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context-support</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-expression</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aop</artifactId>
				<version>${spring.bom.version}</version>
				<scope>runtime</scope>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aspects</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jdbc</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-tx</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jms</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-messaging</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-orm</artifactId>
				<version>${spring.bom.version}</version>
			</dependency>

			<!-- aspectj -->
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjrt</artifactId>
				<version>${aspectj.version}</version>
			</dependency>

			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjweaver</artifactId>
				<version>${aspectj.version}</version>
			</dependency>
			
			<!-- JSR349 JavaBean验证支持 -->
			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${validation.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate.validator.version}</version>
			</dependency>

			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib</artifactId>
				<version>${cglib.version}</version>
				<scope>runtime</scope>
			</dependency>
			
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${commons-io.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>${commons-beanutils.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    
    <build>
        <!-- 声明所有模块必须用到的插件 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <!-- 过滤资源文件 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
    </build>

猜你喜欢

转载自blog.csdn.net/qq_33655674/article/details/81303809