⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog.txt

📁 spring2.5 jar包
💻 TXT
📖 第 1 页 / 共 5 页
字号:
* JndiLocatorSupport tries fallback lookup for originally specified JNDI name if resource-ref adapted name wasn't found
* JndiObjectFactoryBean exposes the bean ClassLoader as thread context ClassLoader (if necessary)

Package org.springframework.mock
* MockHttpServletResponse's "encodeURL" allows for central overriding in subclasses (affecting "encodeRedirectURL" too)
* SimpleNamingContext's "createSubcontext" works correctly for given subcontext names without trailing slash as well

Package org.springframework.orm
* XxxDaoSupport does not override specified XxxTemplate on subsequent "setZzzFactory" call for same factory
* added "executeWithNewSession" and "executeWithNativeSession" methods to HibernateTemplate
* revised EntityManagerFactoryInfo handling to autodetect all EntityManager interfaces if no JpaVendorAdapter specified
* PersistenceAnnotationBeanPostProcessor processes annotations on most specific method only (when overriding)

Package org.springframework.remoting
* revised (Simple)Hessian/BurlapServiceExporter's handling of non-POST requests (avoiding unnecessary warnings)

Package org.springframework.scheduling
* added "waitForTasksToCompleteOnShutdown" property to ThreadPoolTaskExecutor
* changed ThreadPoolTaskExecutor's default behavior to shutdown immediately, not waiting for scheduled tasks
* ThreadPoolTaskExecutor extends CustomizableThreadFactory for common bean properties and uses itself as default factory
* ThreadPoolTaskExecutor uses its bean name as default thread name prefix (analogous to DefaultMessageListenerContainer)
* MethodInvokingRunnable logs target exception directly at error level (instead of InvocationTargetException wrapper)
* MethodInvokingJobDetailFactoryBean propagates invocation exceptions as non-JobExecutionExceptions (for error logging)
* DelegatingJob propagates exceptions as-is instead of wrapping them in JobExecutionExceptions (for error logging)

Package org.springframework.scripting
* ResourceScriptSource is able to detect updates for a script file stored in a jar/zip as well

Package org.springframework.test
* @IfProfileValue correctly checked against concrete test class, even in case of overridden test methods
* @IfProfileValue annotation without specified value checks against presence (non-null value) of the given profile key
* "executeSqlScript" (as in SimpleJdbcTestUtils) allows for multiple statements per line, separated by semicolons
* SpringJUnit4ClassRunner catches AssumptionViolatedException in @Before methods (analogous to standard JUnit 4.4)
* SpringJUnit4ClassRunner executes befores/afters in same thread for test method with JUnit timeout (-> transactions)
* TransactionalTestExecutionListener is able to manage concurrent transactions for different test methods (with timeout)
* TransactionalTestExecutionListener reobtains transaction manager for every transaction (picking up context changes)
* fixed Abstract(Transactional)JUnit(38/4)SpringContextTests classes to be actually marked as abstract

Package org.springframework.transaction
* JtaTransactionManager" checks JNDI location "java:appserver/TransactionManager" for GlassFish's primary TM handle

Package org.springframework.util
* "ClassUtils.resolveClassName" preserves the original root cause in the rethrown IllegalArgumentException
* NumberUtils treats number with leading zeros as decimal (removed unwanted octal support while preserving hex)
* MethodInvoker scans all declared methods (of any visibility), being able to invoke protected/private methods as well
* added "getChildElementsByTagNames" method with tag names Collection argument to DomUtils

Package org.springframework.validation
* factored out AbstractErrors base class from AbstractBindingResult, providing common access to evaluated errors
* added "getRawFieldValue" and "findEditor" methods to BindingResult interface (for a completely decoupled BindStatus)
* fixed AbstractPropertyBindingResult's "getFieldType" to correctly apply nested path to field name
* added convenience constructors to ObjectError and FieldError

Package org.springframework.web
* ContextLoader accepts system property placeholders in "contextConfigLocation" value (again)
* OncePerRequestFilter cleans up its marker attribute at the end of each outer request (for Portlet compatibility)
* RequestContextFilter supports "threadContextInheritable" init-param (analogous to DispatcherServlet)
* HttpRequestHandlerServlet translates HttpRequestMethodNotSupportedException into HTTP status code 405
* DispatcherServlet translates HttpRequestMethodNotSupportedException into HTTP status code 405 by default
* introduced WEB_APPLICATION_CONTEXT_ATTRIBUTE in RequestContext, for overriding the DispatcherServlet context
* ControllerClassNameHandlerMapping detects @Controller beans by default as well
* ControllerClassNameHandlerMapping registers plain path for multi-action controllers too ("/welcome/*" + "/welcome")
* added ControllerBeanNameHandlerMapping, deriving URL paths from bean names for well-known controller types
* AnnotationMethodHandlerAdapter's @RequestMapping matching is deterministic independent from the declared methor order
* AnnotationMethodHandlerAdapter accepts @RequestParam annotations for @InitBinder methods as well
* AnnotationMethodHandlerAdapter always exposes BindingResult objects for model attributes which are binding candidates
* AnnotationMethodHandlerAdapter throws clear IllegalStateException in case of invalid BindingResult argument
* Portlet AnnotationMethodHandlerAdapter supports Servlet ModelAndView and View objects as handler method return values
* default attribute names for annotated handler method return values are consistently derived from the declared type
* added "exposedContextBeanNames" property to InternalResourceView(Resolver), for exposing specific Spring beans only
* InternalResourceView does not enforce ApplicationContext to be set anymore (allowing for "getServletContext" checking)
* JstlView, Tiles(Jstl)View and AbstractJasperReportsView expose current RequestContext's MessageSource for localization
* JSP form tags do not autogenerate id in case of empty id specified (empty id signals no id to be rendered)
* JSP OptionTag and OptionsTag support "id" attribute now, analogous to RadioButton(s)Tag and Checkbox(es)Tag
* added standard HTML "target" attribute to JSP FormTag, for submitting to another window/frame
* fixed JSP LabelTag to render valid default "for" attribute for collection/map paths as well
* fixed AbstractJasperReportsView to build exception messages for the specific sub-report location


Changes in version 2.5.2 (2008-02-29)
-------------------------------------

General
* various reference documentation revisions (e.g. updated transaction management chapter)
* removed outdated showcases sample applications from Spring distribution
* spring-context.jar does not include InstrumentationSavingAgent class anymore (for parent-last class loaders)

Package org.springframework.aop
* AbstractRegexpMethodPointcut matches against target class as well, not just against method's declaring class
* ProxyFactoryBean and AbstractAutoProxyCreator check autodetected proxy interfaces for visibility in the ClassLoader
* Cglib2AopProxy properly detects overridden "finalize()" methods, never dispatching them to the interceptor chain
* CustomizableTraceInterceptor properly escapes method names and exception messages for regex parsing (wrt "$" signs)
* marked AbstractRefreshableTargetSource's status accessors as synchronized
* AbstractBeanFactoryBasedTargetSourceCreator applies containing BeanFactory's configuration to internal BeanFactory
* AbstractBeanFactoryBasedTargetSourceCreator creates an independent internal BeanFactory per target bean
* deprecated ClassLoaderAnalyzerInterceptor and associated ClassLoaderUtils class
* reintroduced AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(ParserContext,Object) for Spring 2.0 compatibility

Package org.springframework.beans
* introduced PropertyAccessorFactory facade for obtaining BeanWrapper and direct field accessor instances
* deprecated BeanWrapper's "setWrappedInstance" method in favor of recreating a BeanWrapper per target instance
* BeanWrapperImpl trims an enum candidate value before matching it against the available enum values
* BeanWrapperImpl resolves the target type for a generically typed bean property, performing appropriate type conversion
* StringArrayPropertyEditor (for comma-delimited splitting of array elements) registered for short[], int[], long[] too
* CustomDateEditor and CustomNumberEditor preserve original ParseException as root cause of IllegalArgumentException
* MethodInvokingFactoryBean falls back to interpreting specified arguments as single method argument of array type
* deprecated RefreshablePagedListHolder class and associated PagedListSourceProvider interface
* added "getOriginatingBeanDefinition()" method to BeanDefinition interface, exposing the decorated definition (if any)
* PropertyOverrideConfigurer is able to properly override target bean definitions behind a scoped proxy decorator
* added "nullValue" property to PropertyPlaceholderConfigurer, allowing for resolving specific Strings into a null value
* CustomEditorConfigurer and CustomScopeConfigurer accept editor/scope values as class names as well
* factored out AliasRegistry/SimpleAliasRegistry from BeanDefinitionRegistry/AbstractBeanFactory
* introduced SimpleBeanDefinitionRegistry implementation for bean definition reader testing
* "registerAlias" allows for overriding as long as bean definition overriding is allowed
* added convenient "autowireBean(Object existingBean)" method to AutowireCapableBeanFactory
* AbstractAutowireCapableBeanFactory removes singleton if created for type check in case of circular reference issues
* AbstractAutowireCapableBeanFactory applies specified TypeConverter to bean references as well (not just to literals)
* AbstractAutowireCapableBeanFactory resolves the target type for a generically typed dependency (method parameter)
* AbstractAutowireCapableBeanFactory's "applyBeanPropertyValues" fully initializes the BeanWrapper used for binding
* AbstractAutowireCapableBeanFactory's "applyBeanPropertyValues" and "configureBean" use a cached merged bean definition
* fixed AbstractAutowireCapableBeanFactory's "configureBean" (@Configurable) to avoid bean name creation for inner beans
* fixed AbstractAutowireCapableBeanFactory to skip invocation of InstantiationAwareBeanPostProcessors for null bean
* fixed AbstractAutowireCapableBeanFactory to always resolve the bean class before a FactoryBean type check
* added "freezeConfiguration()" method to Configurable/DefaultListableBeanFactory, allowing for eager metadata caching
* revised bean destruction logging to log at WARN level with exception toString only (full exception at DEBUG level)
* AutowiredAnnotationBeanPostProcessor resolves the target type for a generically typed dependency (method parameter)
* fixed AutowiredAnnotationBeanPostProcessor to correctly cache a collection with a single autowired bean as element
* fixed AutowiredAnnotationBeanPostProcessor to not cache special dependencies such as request and session references
* deprecated AbstractBeanDefinition's Spring 1.2 style "setSingleton" method in favor of Spring 2.0's "setScope"
* deprecated BeanDefinitionBuilder's "addConstructorArg" in favor of the consistently named "addConstructorArgValue"
* deprecated various rarely used BeanDefinitionBuilder methods in favor of settings on the raw BeanDefinition object
* added overloaded "genericBeanDefinition(beanClass)" method and "setParentName" method to BeanDefinitionBuilder
* added support for "(scope)" key to PropertiesBeanDefinitionReader: e.g. "myBean.(scope)=prototype"
* refactored AbstractBeanConfigurerAspect into Abstract(InterfaceDriven)DependencyInjectionAspect
* nested XML decoration elements (e.g. "aop:scoped-proxy") are explicitly rejected if no corresponding handler present
* InitDestroy/Autowired/Common/PersistenceAnnotationBeanPostProcessor perform appropriate debug logging
* factored out generic SpringBeanELResolver and SimpleSpringBeanELResolver from "web.jsf.SpringBeanFacesELResolver"

Package org.springframework.context
* added "getId()" method to ApplicationContext interface, with corresponding "setId" in AbstractApplicationContext class
* moved CONFIG_LOCATION_DELIMITERS constant from ConfigurableWebApplicationContext to ConfigurableApplicationContext
* fixed AbstractApplicationContext to correctly ignore FactoryBean results that implement the Lifecycle interface
* AbstractApplicationContext processes Lifecycle callbacks in the order of bean creation by default
* AbstractApplicationContext explicitly freezes its bean factory configuration at the end of the "refresh()" phase
* exposed "allowBeanDefinitionOverriding"/"allowCircularReferences" properties in AbstractRefreshableApplicationContext
* factored out AbstractRefreshableConfigApplicationContext base class for common handling of specified config locations
* ClassPathXmlApplicationContext and FileSystemXmlApplicationContext allow for bean-style configuration
* StaticApplicationContext builds GenericBeanDefinitions by default (instead of RootBeanDefinitions)
* added "initApplicationContext(ApplicationContext)" template method to ApplicationObjectSupport
* ClassPathBeanDefinitionScanner detects scoped-proxy bean definitions as compatible (in case of duplicate scanning)
* refactored ClassPathBeanDefinitionScanner into various template methods (for easier overriding)
* refactored ComponentScanBeanDefinitionParser into various template methods (for easier overriding)
* ComponentScanBeanDefinitionParser includes annotation config processors in nested composite component
* "context:component-scan" resolves "${...}" placeholders in package paths against system properties

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -