Spring Framework 2.5.1 Changelog
239.53 KB
84 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .txt | 3 |
摘要 | ||
Spring Framework 2.5.1版本更新日志记录了多项重要改进和修复,包括AOP、Validation、ORM、JDBC、Web模块等的增强和问题修复。AOP部分引入了对AspectJ点컷表达式和AspectJ 5注释风格的支持,增加了@Configurable注释和BeanConfigurer方面以实现任意对象的注入。Hibernate部分优化了与Hibernate 3.1及以上版本的兼容性,修复了事务管理和ORM支持的问题。JDBC部分改进了JdbcTemplate的功能,增加了对JDBC 4.0的支持,并修复了与不同数据库连接相关的问题。MBean部分引入了MBeanExportOperations接口,增强了JMX支持,并修复了MBeanExporter的多个问题。 | ||
AI总结 | ||
### 《Spring Framework 2.5.1 Changelog》总结
#### 核心改进与新特性
1. **核心包(org.springframework.util**)
- **ClassUtils**:如果线程上下文类加载器无法访问,将回退到系统类加载器。
- 所有类加载均通过`ClassLoader.loadClass(name)`完成,而非`Class.forName(name, true, ClassLoader)`。
2. **Web包(org.springframework.web**)
- **MultipartFile**:明确了契约细节,提升了文件上传处理的稳定性。
- **InternalResourceView**:在Servlet 2.3+上正确导出转发属性,并在2.4+上保留现有属性。
- **OptionTag和ErrorsTag**:直接实现`BodyTag`接口,以绕过WebLogic Server 8.1 JSP引擎的bug。
- **Portlet支持**:新增了`renderPhaseOnly`标志,允许拦截操作阶段。
- **HandlerMapping**:提取了`AbstractMapBasedHandlerMapping`基类,并重命名了`PortletModeParameterHandlerMapping`的`allowDupParameters`属性为`allowDuplicateParameters`。
3. **版本变更(2.0 RC4及2.0 final)**
- **XML配置**:
- Spring 2.0 DTD重命名为`spring-beans-2.0.dtd`,并保留向后兼容性。
- 新增了`default-init-method`和`default-destroy-method`属性,支持XSD驱动的XML bean定义。
- **类加载与依赖注入**:
- 移除对Apache OJB的ORM支持,迁移至Spring Modules。
- 新增`spring-agent.jar`,用于InstrumentationLoadTimeWeaver。
- **JPA支持**:全面测试并支持Oracle TopLink Essentials v2 b16和Hibernate EntityManager 3.2.0 CR4。
- **Transactional改进**:
- `@Transactional`注解支持JDK/CGLIB代理和AspectJ模式。
- `AnnotationTransactionAspect`不再在事务开始失败时抛出`NoTransactionException`。
4. **新注解与配置**
- **`@Autowired`注解**:支持字段、构造方法和配置方法的自动注入。
- **`@Configurable`注解及BeanConfigurer方面**:允许通过AspectJ在任意对象上注入依赖。
- **`InitDestroyAnnotationBeanPostProcessor`**:处理可配置的初始化和销毁注解。
- **`CommonAnnotationBeanPostProcessor`**:支持JSR-250的`@PostConstruct`、`@PreDestroy`和`@Resource`注解。
5. **ORM与数据库改进**
- **Hibernate3支持**:要求Hibernate 3.1或更高版本,支持Hibernate 3.1的本地事务超时。
- **JDBC优化**:
- `JdbcTemplate`提取JDBC连接以支持`CallableStatementCreator`。
- `SimpleJdbcTemplate`使用Java 5的变量参数和泛型。
- `DefaultLobHandler`新增`streamAsLob`标志,显式使用JDBC 4.0的`setBlob`/`setClob`方法。
6. **JMX与监控**
- **MBeanExporter**:
- 支持动态AOP代理,自动检测多个MBean。
- 默认启用`exposeManagedResourceClassLoader`以增强与第三方MBean的互操作性。
- **AnnotationMBeanExporter**:预配置`AnnotationJmxAttributeSource`,简化MBean导出。
- **NotificationPublisherAware**:支持通过Spring管理的Bean发布JMX通知。
7. **Web Mvc改进**
- **视图与请求处理**:
- `AbstractView`和`AbstractTemplateView`显式传递`ServletContext`,提升上下文管理。
- `RequestContextHolder`支持`ThreadLocal`和`InheritableThreadLocal`,增强线程上下文传递。
- **表单处理**:
- `CancellableFormController`在取消请求时抑制验证。
- `JSP FormTag`暴露完整的嵌套路径,提升与`BindTag`的兼容性。
8. **测试与Mock对象**
- **Mock组件**:
- 新增`MockMultipartFile`、`MockMultipartHttpServletRequest`和`MockMultipartActionRequest`,支持多部分表单测试。
- `MockPageContext`支持`getOut()`方法,提供`MockJspWriter`以测试JSP标签输出。
9. **任务执行与异步支持**
- **TaskExecutor抽象**:引入`SyncTaskExecutor`和`SimpleAsyncTaskExecutor`作为默认实现,优化任务执行策略。
10. **其他关键改进**
- **对JDK 1.3的支持终止**,最低要求升至JDK 1.4。
- `ReflectionUtils`新增`makeAccessible`方法,简化反射访问。
- `StringUtils`新增`containsWhitespace`方法,便于字符串空白检查。
### 总结
Spring Framework 2.5.1主要优化了类加载机制、依赖注入、Web Mvc、ORM支持以及JMX功能,新增了多个注解(如`@Autowired`)和简化配置的特性。通过引入更高效的任务执行机制、改进的多文件上传处理和增强的测试工具,显著提升了框架的灵活性和开发效率。此外,版本更新对Hibernate和JPA的支持升级,为企业级应用提供了更强大的ORM能力。
---
以上总结涵盖了核心改进和新特性,突出了版本之间的关键变化,内容逻辑清晰,便于理解。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
77 页请下载阅读 -
文档评分