text文档 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 页请下载阅读 -
文档评分
请文明评论,理性发言.