搜索

text文档 Spring Framework 1.2.8 Changelog

254.65 KB 89 页 0 下载 74 浏览 0 评论 0 收藏
语言 格式 评分
英语
.txt
3
摘要
文档详细记录了Spring Framework 1.2.8版本的主要变更,包括新功能的引入、性能优化、错误修复及对旧版本的兼容性处理。主要内容涵盖BeanFactory的改进、AOP框架的优化、事务管理器的增强、JdbcTemplate的改进、对旧版本的兼容性处理、Velocity和FreeMarker视图的支持、Tiles整合、新的日志记录机制、新的控制器方法及参数解析、新的验证机制、新的视图分辨率及布局支持、新的数据绑定及错误处理机制、新的JDBC和Hibernate支持、新的调度和定时任务支持、新的测试框架支持以及新的文档和教程。文档还提到了对多种第三方库(如Velocity、Tiles、Quartz、JDBC、Hibernate等)的支持和优化。
AI总结
以下是文档内容的中文总结: --- ### **Spring Framework 1.2.8 版本更新日志** #### **1.2.8 版本(2006年7月5日)** - **General** - 将“tiger”源码树包含在源码构建中。 - **org.springframework.aop 包** - 修复了 `Cglib2AopProxy`,使其注册显式给定的 `ClassLoader` 到 CGLIB 增强器。 - 修复了 `CustomizableTraceInterceptor`,使其在异常消息中暴露实际调用时间。 - 在 `JamonPerformanceMonitorInterceptor` 中添加了 `trackAllInvocations` 标志,用于在不记录日志的情况下收集统计信息。 - **org.springframework.beans 包** - `BeanUtils` 在 bean 实例化失败时抛出显式的 `BeanInstantiationException`。 - 修复了 `BeanWrapperImpl`,使其将空输入转换为 null 而不是包含 null 元素的数组。 - 修改了 `MutablePropertyValues` 的 `addPropertyValue` 方法签名以保持与 Spring ≤1.2.6 的二进制兼容性。 - 添加了 `CharArrayPropertyEditor`,用于将字符串值转换为字符数组。 - `CharacterEditor` 支持通过字面字符串传递 Unicode 规范(例如 `\u00F6`)。 - `FieldRetrievingFactoryBean` 可以访问非公共字段。 - 在 `PropertiesFactoryBean` 中添加了 `propertiesArray` 属性,用于合并多个本地 `Properties` 实例。 - 修复了 `AbstractBeanFactory`,避免在单例销毁时发生潜在的死锁。 - 修复了 `DefaultListableBeanFactory`,使其在显式单例对象已注册时不会预实例化 bean 定义。 - 在 `BeanDefinitionReader` 和 `AbstractBeanDefinitionReader` 中添加了 `loadBeanDefinitions(String[] locations)` 方法。 - **org.springframework.context 包** - 优化了 `AbstractMessageSource`,使其在父上下文中定义消息并在子上下文中定义消息参数时 eagerly 解决参数。 - **org.springframework.core 包** - 修复了 `NestedXxxException`,使其正确处理根原因中的 null 消息,通过使用原因的 `toString()` 方法。 - 修复了 `FileSystemResource/UrlResource`,使其保留路径中的前导 `.../` 部分,构建正确的相对路径。 - **org.springframework.jdbc 包** - 添加了针对 DB2 和 HSQLDB 的更多默认 SQL 错误代码。 - 优化了 `NativeJdbcExtractorAdapter`,使其在提取失败时重试使用 `DatabaseMetaData` 连接(针对 Hibernate 3.1)。 - 将 `JdbcTemplate` 的 `query(PreparedStatementCreator, PreparedStatementSetter, ResultSetExtractor rse)` 方法设为 public。 - 改善了 `JdbcTemplate` 对 ignored SQLWarnings 的日志记录,包括 SQL 状态和错误代码。 - **org.springframework.util 包** - 引入了 `Assert` 类,主要用于检查方法参数和框架内的不变量。 - `DataBinder` 不接受空字符串(不包含文本内容)作为必填字段的值。 - `DataBinder` 在抑制非允许字段时记录警告(即未在 `allowedFields` 中指定的字段)。 - 在 `RequestUtils` 中添加了用于提取和转换请求参数数组的便捷方法。 - 引入了 `ServletContextResourcePatternResolver`,用于在 Web 应用的上下文中查找匹配资源(即使 WAR 包未展开)。 - 修复了 `DispatcherServlet`,使其在 `doService` 中重用 `getLastModified` 中缓存的 `HandlerExecutionChain`。 - 在 `ModelAndView` 中添加了 `addAllObjects` 方法,用于批量添加模型对象(相当于 `getModel().putAll`)。 - 在 `SimpleMappingExceptionResolver` 中添加了 `defaultStatusCode` 属性,指定错误视图的默认 HTTP 状态码。 - **其他改进** - `UrlPathHelper` 修复了在获取请求 URI 时上下文路径不一致的问题。 - `RedirectView` 在 `contextRelative` 为 true 时,如果 URL 以斜杠开头,则在 URL 前面添加上下文路径。 - `VelocityView` 添加了 `createVelocityContext` 钩子,用于使用不同的 Velocity Context 实现。 - URLBasedViewResolver 支持 `redirect:` 前缀,用于通过特殊视图名称实现重定向。 --- #### **1.1.1 版本(2004年9月30日)** - **org.springframework.aop 包** - 修复了 `Cglib2AopProxy`,防止受保护方法被代理(针对 SPR-357)。 - 引入了新的 `IntroductionInfo` 接口,允许在不使用 `IntroductionAdvisor` 的情况下进行引入。 - `DelegatingIntroductionInterceptor` 修复了未包装的检查异常。 - **org.springframework.web 包** - `UrlPathHelper` 修复了在获取请求 URI 时上下文路径大小写不一致的问题(在 Resin 上可能发生)。 - `CommonsMultipartResolver` 修复了在处理多部分请求时的查询参数暴露问题。 - `AbstractFormController` 和 `AbstractWizardFormController` 添加了调试日志以记录会话属性的添加/移除操作。 - `AbstractWizardFormController` 允许通过覆盖 `getPageCount` 和 `getViewName` 方法实现动态页面。 - `MultiActionController` 的日志级别从 INFO 更改为 DEBUG。 - 在 `InternalPathMethodNameResolver` 中添加了 `prefix` 和 `suffix` 属性,用于指定方法名称的前缀/后缀。 - 在 `ParameterMethodNameResolver` 中添加了 `methodParamNames` 和 `logicalMappings` 属性。 - 移除了已弃用的 `BindStatus` 类(从 `servlet.tags` 移到 `servlet.support`)。 - `BindTag` 修复了在嵌套使用时保存和重新暴露 `status` 值的问题。 - 引入了 `VelocityLayoutView`,模拟 Velocity 的 `VelocityLayoutServlet` 功能。 - `AbstractXlstView` 添加了 `errorListener` 属性,并为 XSLT 转换器注册了默认的 `ErrorListener`。 --- #### **1.1.5 版本(2005年2月28日)** - **文档改进** - 将 Tapestry 集成内容移到独立章节(“与其他 Web 框架集成”)。 - 优化了 `AdvisedSupport`,使其保留代理接口的顺序以生成基于 JDK 的代理。 - **其他改进** - 支持通过 Hibernate 查询超时设置事务超时。 - 修复了 `RmiServiceExporter` 中的 RMI 代理检测问题。 - 引入了 `WebApplicationObjectSupport` 方便基类。 - 优化了 `WebContentGenerator` 的缓存控制选项。 - 修复了 `AbstractUrlHandlerMapping` 中的 `initHandler` 方法。 - 在 `SimpleUrlHandlerMapping` 中添加了 `urlMap` 属性。 - 修复了 `RequestContext` 和 `BindErrorsTag` 的异常行为。 - 重新引入了 `ContextLoaderServlet` 以支持 Servlet 2.2 容器。 - 引入了 Tiles 支持,包括 `TilesView` 和 `TilesConfigurer`。 - 添加了对 Tiles 组件控制器的 Spring 感知支持。 --- #### **1.2 RC1 版本(2005年3月28日)** - **架构改进** - 移除了所有自 1.1 最终版本之前已弃用的类和方法。 - 将 AOP 联盟接口添加到 `spring-aop.jar` 和 `spring.jar`,避免依赖 `aopalliance.jar`。 - 将 `spring-core.jar` 拆分为 `spring-core.jar`(核心工具)和 `spring-beans.jar`(Bean 支持和容器)。 - 将 `spring-dao.jar` 拆分为 `spring-dao.jar`(DAO 接口和事务支持)和 `spring-jdbc.jar`(JDBC 支持)。 - 将 `spring-context.jar` 拆分为 `spring-context.jar`、`spring-support.jar`(包含 JMX 支持)和 `spring-remoting.jar`。 - 将 `spring-orm.jar` 拆分为 `spring-orm.jar`(不包含 Hibernate)和 `spring-hibernate.jar`(包含 Hibernate 2/3 支持)。 - **其他改进** - 弃用了 `RegexpMethodPointcut` 类,建议使用 `Perl5RegexpMethodPointcut` 或 `JdkRegexpMethodPointcut`。 - 修复了 `AbstractAutoProxyCreator`,使其在实例化目标 bean 之前检查自定义 `TargetSourceCreator`。 - 引入了 `LazyInitTargetSourceCreator`,用于为标记为 `lazy-init` 的 bean 自动创建 `LazyInitTargetSource`。 --- #### **0.9.1 版本(2003年8月8日)** - **核心改进** - 修复了 `XMLBeanFactory` 中的错误日志记录问题。 - 支持通过 XML 实体包含 bean 定义文件。 - 允许 Spring bean 定义 DTD 中的映射条目为列表。 - 引入了 `init-method` 属性用于 XML bean 定义。 - 添加了 `BeanFactoryPostProcessor` 钩子,用于覆盖 bean 定义值。 - **其他改进** - 修复了 `StoredProcedure` 的事务参与问题。 - 移动了 `DataSourceTransactionManager` 到 `jdbc.datasource` 包。 - 修复了 `HibernateTransactionManager` 的事务日志记录问题。 - 引入了新的方便基类用于 JDBC、Hibernate 和 JDO DAO。 --- #### **1.0 M1 版本(2003年8月30日)** - **核心改进** - 引入了 `DisposableBean` 接口和 `destroy-method` 属性用于 XML bean 定义。 - 支持 CSV 格式的 bean 名称以定义多个别名。 - **其他改进** - 修复了 `JndiObjectFactoryBean`,使其在指定方案时不添加容器前缀。 - 修复了 `LocalSessionFactoryBean`,使其实现 `DisposableBean` 接口。 - 引入了新的教程(如 Petclinic 和 MVC 分步教程)。 - 更新了所有样本应用程序的 `views.properties` 文件,使用 `(class)` 和 `(parent)`。 --- 以上是对文档内容的总结,涵盖了主要版本的更新重点和关键改进。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 82 页请下载阅读 -
文档评分
请文明评论,理性发言.