一、环境准备
1、配置Spring Maven仓库。
发布版:
1
2
3
4
5
6
7
|
<repositories> <repository>
<id>io.spring.repo.maven.release</id>
<url>http: //repo.spring.io/release/</url>
<snapshots><enabled> false </enabled></snapshots>
</repository>
</repositories> |
里程碑版:
1
2
3
4
5
6
7
|
<repositories> <repository>
<id>io.spring.repo.maven.milestone</id>
<url>http: //repo.spring.io/milestone/</url>
<snapshots><enabled> false </enabled></snapshots>
</repository>
</repositories> |
快照版:
1
2
3
4
5
6
7
|
<repositories> <repository>
<id>io.spring.repo.maven.snapshot</id>
<url>http: //repo.spring.io/snapshot/</url>
<snapshots><enabled> true </enabled></snapshots>
</repository>
</repositories> |
2、日志系统的切换。
默认情况下Spring框架采用Jakarta Commons Logging API(JCL)作为日志系统,相应的jar包为commons-logging.jar。commons-logging在运行时会自动寻找系统类路径下已注册的日志框架,并使用它认为正确的一个来处理日志输出。如果没有可使用的,则会使用JDK的java.util.logging。为了避免Spring框架对日志系统的依赖,只有spring-core明确地依赖commongs-logging,其他模块只在编译时依赖。如果想将Spring框架的日志系统切换为其他的,比如SLF4J(编译时绑定),则可以将对commons-logging的依赖去掉,因为只有spring-core显式依赖它,然后再引入其他的日志系统。
使用SLF4J:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<dependencies> <dependency>
<groupid>org.springframework</groupid>
spring-core</artifactid>
<version> 4.0 . 2 .RELEASE</version>
<!--排除commons-logging依赖-->
<exclusions>
<exclusion>
<groupid>commons-logging</groupid>
commons-logging</artifactid>
</exclusion>
</exclusions>
</dependency>
<!--添加SLF4J-JCL依赖,将对JCL的日志API调用转换为对SLF4J接口的调用-->
<dependency>
<groupid>org.slf4j</groupid>
jcl-over-slf4j</artifactid>
<version> 1.5 . 8 </version>
</dependency>
<!--添加SLF4J接口依赖-->
<dependency>
<groupid>org.slf4j</groupid>
slf4j-api</artifactid>
<version> 1.5 . 8 </version>
</dependency>
<!--添加SLF4J-Log4j依赖,用于将对SLF4J接口的调用转接到具体的日志系统log4j-->
<dependency>
<groupid>org.slf4j</groupid>
slf4j-log4j12</artifactid>
<version> 1.5 . 8 </version>
</dependency>
<!--添加log4j依赖,真正实现日志输出-->
<dependency>
<groupid>log4j</groupid>
log4j</artifactid>
<version> 1.2 . 14 </version>
</dependency>
</dependencies> |
使用Log4J(JCL会在运行时发现该框架并使用它作为日志输出):
1
2
3
4
5
6
7
8
9
10
11
12
|
<dependencies> <dependency>
<groupid>org.springframework</groupid>
spring-core</artifactid>
<version> 4.0 . 2 .RELEASE</version>
</dependency>
<dependency>
<groupid>log4j</groupid>
log4j</artifactid>
<version> 1.2 . 14 </version>
</dependency>
</dependencies> |
二、Spring Framework 4.x的新特性
1、提供更丰富的入门经验。原来的Spring框架网站升级为spring.io,提供了丰富的文档和入门指导。
2、删除过时的包和方法。具体API变动可以参考变动报告,第三方类库至少使用2010/2011年发布的版本,尤其是Hibernate 3.6+, EhCache 2.1+, Quartz 1.8+, Groovy 1.8+, and Joda-Time 2.0+。Hibernate Validator要求使用4.3+,Jackson 2.0+。
3、Java 8支持。当然也支持Java6和Java7,但最好在使用Spring框架3.X或4.X时,将JDK升级到Java7,因为有些版本至少需要Java7。
4、Java EE 6和7。使用Spring4.x时Java EE版本至少要6或以上,且需要JPA 2.0和Servlet 3.0 的支持,所以服务器,web容器需要做相应的升级。一个更具前瞻性的注意是,Spring4.0支持J2EE 7的适用级规范,比如JMS 2.0, JTA 1.2, JPA 2.1, Bean Validation 1.1和JSR-236并发工具包,在选择这些jar包时需要注意版本。
5、使用Groovy DSL定义外部Bean。
6、核心容器提升。
I、支持Bean的泛型注入,比如:
1
|
@Autowired Repository<customer> customerRepository. //使用特定的实现注入Repository</customer>
|
II、使用元注解开发暴露指定内部属性的自定义注解。
III、通过@Ordered注解或Ordered接口对注入集合或数组的Bean进行排序。
IV、@Lazy注解可以用在注入点或@Bean定义上。
V、为开发者引入@Description注解。
VI、引入@Conditional注解进行有条件的Bean过滤。
VII、基于CGLIB的代理类不需要提供默认构造器,因为Spring框架将CGLIB整合到内部了。
VIII、框架支持时区管理,比如LocalContext。
7、Web提升。
I、增加新的@RestController注解,这样就不需要在每个@RequestMapping方法中添加@ResponseBody注解。
II、添加AsyncRestTemplate,在开发REST客户端时允许非阻塞异步支持。
III、为Spring MVC应用程序开发提供全面的时区支持。
8、WebSocket,SockJS和STOMP消息。
9、测试提升。
I、spring-test模块里的几乎所有注解都能被用做元注解去创建自定义注解,来减少跨测试集时的重复配置。
II、活跃的bean定义配置文件可以编程方式解析。
III、spring-core模块里引入一个新的SocketUtils类,用于扫描本地可使用的TCP和UDP服务端口。一般用于测试需要socket的情况,比如测试开启内存SMTP服务,FTP服务,Servlet容器等。
IV、由于Spring4.0的原因,org.springframework.mock.web包现在基于Servlet 3.0 API。
注:SpringFramework4.0实用教程既然是实用,那就只会讲些开发中经常使用的技术点,一般不会涉及太深,想看内部实现的就不要抱什么希望了。
本人能力和精力有限,只能先做到这步,其他以后再说。
相关推荐
spring-core-4.1.6.RELEASE.jar spring-core-4.3.10.RELEASE.jar spring-core-4.3.12.RELEASE.jar spring-core-4.3.13.RELEASE.jar spring-core-4.3.14.RELEASE.jar spring-core-4.3.16.RELEASE.jar spring-core-4.3...
org.springframework.spring-library-3.0.4.RELEASE.libd org.springframework.test-3.0.4.RELEASE.jar org.springframework.transaction-3.0.4.RELEASE.jar org.springframework.web.portlet-3.0.4.RELEASE.jar ...
aopalliance-1.0.jar,org.springframework.aop-3.0.0.RELEASE.jar,org.springframework.jdbc-3.0.0.RELEASEorg.springframework.beans-3.0.0.RELEASE.jar等
spring-web-5.0.4.RELEASE.jar; spring-web-5.0.4.RELEASE.jar
包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...
当我们在研究或编译Spring 4.0的源码时,可能会遇到一些依赖问题,其中"spring-cglib-repack-3.1.jar"和"spring-objenesis-repack-2.1.jar"是两个关键的jar包,它们在源码编译过程中起着至关重要的作用。本文将详细...
spring-aop-4.1.6.RELEASE.jar spring-aspects-4.1.6.RELEASE.jar spring-beans-4.1.6.RELEASE.jar spring-context-4.1.6.RELEASE.jar spring-context-support-4.1.6.RELEASE.jar spring-core-4.1.6.RELEASE.jar ...
spring.jar spring-aop.jar spring-aop.jar spring-beans.jar spring-hibernate3.jar spring-jdbc.jar spring-struts.jar spring-web.jar
spring-context-3.2.4.RELEASE.jar spring-core-3.2.4.RELEASE.jar spring-beans-3.2.4.RELEASE.jar spring-test-3.2.4.RELEASE.jar spring-web-3.2.4.RELEASE.jar spring-aop-3.2.4.RELEASE.jar spring-webmvc-...
spring-aop-4.2.4.RELEASE.jar spring-aspects-4.2.4.RELEASE.jar spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RELEASE.jar spring-context-support-4.2.4.RELEASE.jar spring-core-4.2.4.RELEASE.jar ...
org.springframework.aop-3.1.1.RELEASE org.springframework.asm-3.1.1.RELEASE org.springframework.aspects-3.1.1.RELEASE org.springframework.beans-3.1.1.RELEASE org.springframework.context.support-3.1.1....
rg.springframework.asm-3.0.1.RELEASE-A.jar
标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是Spring框架在运行时依赖的两个关键库,它们主要涉及到动态代理和对象创建的优化。 1. **CGLIB(Code Generation Library)**: ...
spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包
org.springframework.spring-library-3.1.RELEASE.libd org.springframework.test-3.1.RELEASE.jar org.springframework.transaction-3.1.RELEASE.jar org.springframework.web.portlet-3.1.RELEASE.jar org....
文件名“spring-framework-4.0.3.RELEASE”包含了Spring框架的完整源代码、文档和示例,开发者可以通过分析源码学习Spring的工作原理,或者参考文档了解如何在实际项目中应用这些新特性。源码目录结构通常包括以下...
org.springframework.context-3.1.1.RELEASE.jar java 开发专用
然而,有时候在导入Spring项目时,可能会遇到一些问题,例如标题中提到的"spring-cglib-repack-3.2.4.jar"和"spring-objenesis-repack-2.4.jar"这两个jar包的缺失。这些jar包对于Spring框架的正常运行至关重要,因为...
Error creating bean with name 'org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0' defined in ServletContext resource [/WEB-INF/springMVC-servlet.xml]: Initialization of bean failed;...
这个“blazeds-bin-4.0.1.17657.zip”压缩包包含了BlazDS的二进制版本,这是一个开放源代码的服务器端技术,由Adobe开发并广泛应用于构建富互联网应用程序(RIA)。它的主要目标是提供数据集成和交互能力,使得基于...