Spring Framework 2.0.3 Changelog
138.10 KB
49 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .txt | 3 |
摘要 | ||
文档详细记录了Spring Framework 2.0.3版本中的各项更改,包括对事务管理、面向切面编程、数据访问、JMX支持以及Web功能的多处改进和优化。新版本的升级增强了多个功能模块,如面向切面编程中的新特性支持、事务管理中的容器集成改进、JMX管理的增强功能,以及对JPA和ORM框架的更好支持,同时也优化了Web相关的组件和视图处理。这些更改提升了框架的稳定性、性能和开发者易用性。 | ||
AI总结 | ||
以下是对《Spring Framework 2.0.3 Changelog》的中文总结,语言简洁明了,重点突出核心观点和关键信息,逻辑连贯,结构清晰:
---
# Spring Framework 2.0.3 Changelog 总结
## 版本2.0.3
### 核心改进
1. **事务管理**:
- 修复了`MethodMapTransactionAttributeSource`避免不必要的方法映射重新初始化问题。
2. **类加载优化**:
-修复了`ClassUtils`,使其在无法访问线程上下文类加载器时回退到系统类加载器。
- 所有类加载操作通过`ClassLoader.loadClass(name)`实现,而非`Class.forName(name, true, ClassLoader)`。
3. **数据绑定与Validation**:
- `DataBinder`字段匹配改为使用规范名称(用于必填、允许和禁止检查)。
4. **Web功能优化**:
- 澄清了`MultipartFile`的契约详情。
- `InternalResourceView`在Servlet 2.3-中正确导出转发属性,在2.4+上保留现有属性。
- `OptionTag`和`ErrorsTag`直接实现`BodyTag`接口,解决WebLogic 8.1 JSP引擎的bug。
- 新增`renderPhaseOnly`标志,允许拦截操作阶段。
- 新增了`AbstractMapBasedHandlerMapping`作为基类。
- 重命名了`PortletModeParameterHandlerMapping`的`allowDupParameters`属性为`allowDuplicateParameters`。
---
## 版本2.0 RC4 (2006-09-17)
### 核心改进
1. **DTD/XSD更新**:
- 将Spring 2.0 DTD/XSD重命名为`spring-beans-2.0.dtd/xsd`,以支持未来版本的管理。
- 新增`spring-agent.jar`,包含Spring的InstrumentationLoadTimeWeaver代理。
2. **ORM支持**:
- 彻底测试了JPA对Oracle TopLink Essentials v2 b16和Hibernate EntityManager 3.2.0 CR4的支持。
- 移除了对Apache OJB的ORM支持,将其移到Spring Modules。
3. **性能与稳定性**:
- 所有内部`ThreadLocal`变量声明为`final`,避免潜在的类重新加载问题。
4. **AOP改进**:
- 替换了AOP Alliance的`AspectException`,使用更具体的异常类型(`AopInvocationException`/`AopConfigException`/`IllegalStateException`)。
- `Cglib2AopProxy`暴露了CGLIB增强目标bean的额外接口。
- 优化了`PointcutAdvisor`支持类,避免过早访问`Advice`和`Pointcut`。
- 修复了`AnnotationAwareAspectJAutoProxyCreator`,惰性检索方面单例(仅在点切触发时)。
5. **Web功能优化**:
- 重新梳理了`HttpRequestHandler`接口,优化模块依赖。
- 修复了`SessionRequiredException`,将其细化为`HttpSessionRequiredException`和`PortletSessionRequiredException`。
- 新增`HttpRequestHandlerServlet`,以便通过Servlet暴露单个`HttpRequestHandler` bean。
---
## 版本2.0 M2 (2006-02-01)
### 核心改进
1. **JDK版本要求**:
- Spring 2.0必须在JDK 1.5上构建,但测试套件仍支持JDK 1.4和1.3。
2. **AOP功能增强**:
- 新增`equals`/`hashCode`实现,覆盖所有切点和顾问。
- 允许`AopUtils`的`invokeJoinpointUsingReflection`调用受保护方法。
- `ProxyFactoryBean`新增`autodetectInterfaces`属性,支持事务代理工厂Bean的行为(默认启用)。
- 优化`ProxyFactoryBean`惰性初始化_singleton代理。
- 新增`target.dynamic`包,支持对象实例动态刷新。
- 新增`BeanFactoryRefreshableTargetSource`,允许通过BeanFactory刷新对象实例。
3. **ORM支持**:
- 完成JPA SPI支持,新增`ContainerEntityManagerFactoryBean`,支持LoadTimeWeaver。
- 新增`JpaVendorAdapter`抽象类,提供出厂的`TopLinkJpaVendorAdapter`和`HibernateJpaVendorAdapter`实现。
- 新增`PersistenceAnnotationPostProcessor`,处理EJB3风格的`@PersistenceUnit`和`@PersistenceContext`注解。
4. **测试支持**:
- 新增支持类,帮助基于注解的测试(特别是JPA测试)。
5. **事务管理优化**:
- 新增`failEarlyOnGlobalRollbackOnly`标志,实现一致的提前失败行为。
6. **工具类优化**:
- `PatternMatchUtils`采用统一的匹配方式,支持Spring典型的`"xxx*"`、`"*xxx"`和`"*xxx*"`模式。
- 优化`ClassUtils`,仅记录未找到的类的异常消息,而非整个堆栈跟踪。
7. **Web功能优化**:
- `InternalResourceView`在Servlet 2.3-中导出转发属性。
- 新增`getOriginatingRequestUri`方法,检测Servlet 2.4请求URI属性。
---
## 版本2.0 M4 (2006-04-23)
### 核心改进
1. **ORM支持优化**:
- Hibernate3 `LocalSessionFactoryBean`根据是否提供*jtaTransactionManager*自动设置JTATransactionFactory。
- 修复了Hibernate JTA事务同步,确保在WebSphere上正确标记回滚。
2. **JPA支持增强**:
- `EntityManagerFactoryUtils`的`convertJpaAccessException`方法始终返回`DataAccessException`而非抛出。
3. **事务管理改进**:
- `JpaTransactionManager`和`EntityManagerFactoryUtils`的JTA同步在回滚时清除绑定的`EntityManager`。
4. **AOP优化**:
- `AnnotationAwareAspectJAutoProxyCreator`现在仅在点切触发时惰性检索方面单例。
5. **Web功能优化**:
- 新增`renderPhaseOnly`标志,允许拦截操作阶段。
- 提取了`AbstractMapBasedHandlerMapping`作为基类。
- 重命名了`PortletModeParameterHandlerMapping`的`allowDupParameters`属性为`allowDuplicateParameters`。
---
## 其他重要改动
- **JSP标签优化**:修复了`InternalResourceView`的导出属性问题。
- **Groovy支持**:升级到Groovy 1.0 final,并修复了JRubyScriptFactory的问题。
- **测试支持优化**:新增`getApplicationContext()`和`getJdbcTemplate()`方法。
- **ORM支持优化**:完成了AspectJ 5“pertypewithin”方面实例化模型的实现。
---
以上是Spring Framework 2.0.3版本变更的核心内容总结,涵盖了大部分关键改进和新增功能。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
42 页请下载阅读 -
文档评分