代码改变世界

maven增加Spring

2016-03-23 14:50  youxin  阅读(657)  评论(0编辑  收藏  举报

 

对于javax.annotation,spring某些注解要用的,比如:@Resource.

 

使用Maven管理基本的Spring依赖关系 
Spring被设计为可高度模块化的 —— 使用Spring中的一部分,不应该也不需要引用另一个不相关的部分. 例如, 使用基本的Spring Context可以不使用 Persistence或MVC相关的Spring库.
让我们从一个非常简单的Maven设置开始,这里只使用 spring-context 依赖 .

<properties>  
    <org.springframework.version>3.2.8.RELEASE</org.springframework.version>  
    <!-- <org.springframework.version>4.0.2.RELEASE</org.springframework.version> -->  
</properties>  
<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-context</artifactId>  
    <version>${org.springframework.version}</version>  
    <scope>runtime</scope>  
</dependency>  

spring-context 包定义了Spring注入(Injection)容器,并依赖很少的Spring包: spring-core, spring-expression, spring-aop 和 spring-beans. 通过启用支持一些 Spring的核心技术增强了Spring容器: Spring表达式语言 (SpEL)面向切面编程 支持以及 JavaBeans机制.
注意,我们将spring-context依赖的范围指定为 runtime scope —— 这将确保在编译时没有任何依赖Spring特定api的部分. 对于一些底层开发的情况,可以将 runtime scope 从选定的Spring依赖项中移除(Maven 默认是compile),但对于简单的项目来说,并不需要在编码时对Spring 的整个框架进行调用.
还要注意,从Spring 3.2开始, 不需要定义CGLIB 依赖关系(现在升级到了CGLIB3.0)—— 它已经被重新打包(现在所有 net.sf.cglib 包变成了 org.springframework.cglib包)并直接集成在 spring-core 这个 JAR包中(详情请参考 JIRA计划文档).

  

 4. Spring MVC与Maven
要使用Spring Web和Servlet支持,需要在pom中添加两个依赖项, 当然,也需要上面所说的核心依赖:

<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-web</artifactId>  
    <version>${org.springframework.version}</version>  
</dependency>  
<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-webmvc</artifactId>  
    <version>${org.springframework.version}</version>  
</dependency>  

 

  

spring-web 依赖包含Servlet和Portlet环境中常用的web特定工具,而 spring-webmvc 对Servlet环境提供了MVC支持.
因为 spring-webmvc 将 spring-web 作为一个依赖,所以在使用 spring-webmvc时不需要显式地定义 spring-web.

 

 

spring内部各模块jar包依赖

 

使用Maven管理Spring