First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評論-1047  文章-0  trackbacks-0
          Spring 2.0.4發布了,如果您正在使用2.0.3的話,建議升級到此版本,因為官方在2.0.2至2.0.3的更新有點草率,所以存在不少Bug。
          下載地址:http://jaist.dl.sourceforge.net/sourceforge/springframework/spring-framework-2.0.4-with-dependencies.zip

          下面是Spring2.0.4的changelog:


          SPRING FRAMEWORK CHANGELOG
          ==========================
          http://www.springframework.org


          Changes in version 2.0.4 (2007-04-10)
          -------------------------------------

          Package org.springframework.aop
          * AbstractAutoProxyCreator caches advice information per bean, for efficient prototype creation with auto-proxying
          * fixed AspectJAfterReturningAdvice to avoid NPE within returning type check in case of the return value being null
          * fixed AspectJAwareAdvisorAutoProxyCreator's "toString()" implementation to be compatible with JDK 1.3/1.4
          * AnnotationAwareAspectJAutoProxyCreator caches Advisors for singleton @Aspect aspects, increasing performance
          * introduced Simple(MetadataAware)AspectInstanceFactory, creating an independent aspect instance on every invocation
          * revised AspectJProxyFactory to avoid "spring-beans" dependencies, using SimpleMetadataAwareAspectInstanceFactory now
          * AbstractAspectJAdvice lazily calculates argument bindings, avoiding a "spring-beans" dependency (InitializingBean)
          * "this" pointcut in AspectJ pointcut expressions is matched against the proxy object rather than the target object

          Package org.springframework.beans
          * PropertyEditorRegistrySupport/BeanWrapperImpl lazily registers default editors when needed (to avoid init overhead)
          * PropertyEditorRegistrySupport supports registration of shared editors, to allow for specific synchronization
          * BeanWrapperImpl mimimizes bean name parsing overhead and caches parsed property path tokens
          * PatternEditor allows for customization through specifying "java.util.regex.Pattern" flags
          * fixed PropertyPlaceholderConfigurer/BeanDefinitionVisitor to correctly handle TypedStringValue objects with null value
          * AbstractFactoryBean offers a protected "getBeanFactory()" method for accessing its BeanFactory reference
          * BeanReferenceFactoryBean returns null from "getObjectType()" if the BeanFactory has not been injected yet
          * AbstractAutowireCapableBeanFactory uses "filteredPropertyDescriptorsCache" for the PropertyDescriptor array per class
          * DefaultListableBeanFactory is able to invoke public init and destroy methods on package-protected classes
          * DefaultListableBeanFactory caches pre-converted property values as far as possible
          * DefaultListableBeanFactory allows placeholders in class names even for non-lazy-init beans
          * ConstructorResolver caches the resolved constructor or factory method, for faster re-creation of prototype instances
          * ConstructorResolver caches converted argument values, to avoid conversion overhead for re-created prototype instances
          * DefaultNamespaceHandlerResolver logs linkage error at warn level, in case of a handler class found but not loadable

          Package org.springframework.context
          * added "addApplicationListener" method to ConfigurableApplicationContext interface, for statically registered listeners

          Package org.springframework.core
          * added "getNames", "getNamesForProperty", "getNamesForSuffix" and "getValuesForSuffix" methods to Constants
          * fixed GenericCollectionTypeResolver to correctly navigate Map-List-List structures with a nesting level of 3 or more
          * BridgeMethodResolver performs multi-step resolution of type variables, for complex multi-type inheritance scenarios

          Package org.springframework.dao
          * PersistenceExceptionTranslationInterceptor supports PersistenceExceptionTranslator autodetection in standalone mode

          Package org.springframework.jca
          * added "setConnectionSpec" method and corresponding constructor to CciTemplate, for specifying a spec at template level
          * added "getDerivedTemplate(ConnectionSpec) method to CciTemplate, for obtaining a template with just different con spec
          * added "getCciTemplate(ConnectionSpec) method to CciDaoSupport, for obtaining a template with just different con spec

          Package org.springframework.jdbc
          * SqlOperation and its subclasses do not pre-parse for named parameters anymore, accepting ":" in plain SQL strings

          Package org.springframework.jms
          * added "isSessionTransactional" method to ConnectionFactoryUtils
          * introduced SessionProxy interface for target Session access, exposed by TransactionAwareConnectionFactoryProxy
          * DefaultMessageListenerContainer switches "sessionTransacted" to "true" in case of a non-JTA ResourceTransactionManager
          * DefaultMessageListenerContainer rolls back an external transaction in case of a message rejected while stopping
          * DefaultMessageListenerContainer does not eagerly commit/rollback a in case of a synchronized transacted Session
          * DefaultMessageListenerContainer obtains a shared Connection lazily in case of autoStartup="true"
          * DefaultMessageListenerContainer recovers a shared Connection lazily if it is not currently running (has been stopped)
          * DefaultMessageListenerContainer allows for specifying the listener object lazily, and for replacing it at runtime
          * fixed JmsInvokerClientInterceptor/ProxyFactoryBean's "queue" property to declare type Queue now

          JuergenPackage org.springframework.jndi
          * added "proxyInterfaces" property to JndiObjectFactoryBean, for specifying multiple interfaces
          * JndiObjectFactoryBean autodetects proxy interfaces from a specified "expectedType", if necessary
          * JndiObjectTargetSource returns the specified "expectedType" as target class if no JNDI object has been obtained yet

          Package org.springframework.mail
          * added "setPriority" method to MimeMessageHelper, for populating the "X-Priority" mail header

          Package org.springframework.mock
          * MockHttpServletResponse automatically marks the response as committed once the buffer size has been exceeded
          * MockHttpServletResponse marks the response as committed in case of a "OutputStream.flush()" / "Writer.flush()" call

          Package org.springframework.orm
          * SharedEntityManagerCreator's proxies deliver a "toString()" result without touching a target EntityManager
          * added protected "getPersistenceUnitInfo" method to DefaultPersistenceUnitManager, to allow for better subclassing
          * DefaultPersistenceUnitManager clears the default PersistenceUnitInfo once it has been obtained
          * added "defaultPersistenceUnitName" property to PersistenceAnnotationBeanPostProcessor
          * PersistenceAnnotationBeanPostProcessor only sets fields/methods accessible when actually necessary

          Package org.springframework.remoting
          * RemoteInvocationUtils detects cycles in exception causes when updating the stack trace (avoiding an infinite loop)

          Package org.springframework.samples
          * added default Hibernate EntityManager and Apache OpenJPA configurations to PetClinic's WAR file and integration tests
          * PetClinic's JPA variant explicitly specifies "META-INF/orm.xml" as mapping file (for Hibernate EntityManager 3.3.0)
          * PetPortal's build script properly includes the Log4J jar in the WAR file

          Package org.springframework.scheduling
          * added "targetBeanName" property to MethodInvokingJobDetailFactoryBean for Quartz, allowing for non-singleton targets
          * ThreadPoolTaskExecutor/ScheduledExecutorFactoryBean includes the corresponding bean name in startup/shutdown logging

          Package org.springframework.scripting
          * LangNamespaceHandler references ScriptFactory classes by name, to avoid NoClassDefFoundErrors in all scenarios
          * added "scope" attribute to all script tags in the "lang" namespace, allowing for non-singleton script objects
          * updated JRuby support for JRuby 0.9.8 (requiring this version now due to incompatible JRuby API changes)

          Package org.springframework.test
          * added "getActualException()" method to AssertThrows, for introspecting the actual exception instance after throwing

          Package org.springframework.transaction
          * factored out TransactionOperations interface from TransactionTemplate, defining the central "execute" operation
          * introduced ResourceTransactionManager (i.e. non-JTA) interface, indicating the resource factory that it operates on
          * "tx:advice" expects that the XML parser might not expose the defaults defined in "spring-tx-2.0.xsd" (e.g. on Resin)

          Package org.springframework.util
          * ObjectUtils's "nullSafeToString"/"getDisplayValue" returns an empty String if "Object.toString()" returned null
          * ClassUtils's "classPackageAsResourcePath" parses the class name in order to detect the package name in all cases
          * fixed CustomizableThreadCreator to properly apply its "daemon" flag (inherited by SimpleAsyncTaskExecutor)

          Package org.springframework.web
          * added "getContextPath", "getRemoteUser", "getUserPrincipal", "isUserInRole", "isSecure" to WebRequest abstraction
          * changed visibility of "getRequest" accessor on ServletWebRequest and PortletWebRequest to public
          * CharacterEncodingFilter sets the encoding as default response encoding on Servlet 2.4+ (if "forceEncoding"="true")
          * Servlet/PortletContextAware and Servlet/PortletConfigAware are simply skipped if they cannot be satisfied
          * added public "refresh()" operation with protected "onRefresh()" template method to DispatcherServlet/Portlet
          * reworked DispatcherServlet/Portlet to automatically refresh internal state if its ApplicationContext refreshes
          * DispatcherPortlet logs startup logging at debug level instead of info level, analogous to DispatcherServlet
          * factored out protected "getHandlerExecutionChain" template method in Servlet/Portlet AbstractHandlerMapping
          * added "getRootHandler()" method to AbstractUrlHandlerMapping, called on each access to the root handler
          * added overloaded "suppressValidation(request, command, errors)" variant to BaseCommandController
          * deprecated "suppressValidation(request)" in BaseCommandController, in favor of the "(request, command)" variant
          * revised AbstractXsltView for transformer customization options ("buildTransformer" and "getTemplates" methods)
          * added "getParameters(model, request") variant to AbstractXsltView, deprecating the old "getParameters()" variant
          * "spring.tld" and "spring-form.tld" declare the Spring major version number (2.0) as taglib version number
          * fixed JSP BindTag to correctly save and re-expose a page-scoped "status" attribute (not just a request-scoped one)
          * JSP FormTag escapes the "action" attribute as well if HTML escaping has been requested
          * JSP InputTag supports the common "autocomplete" HTML extension attribute (as supported by IE and Firefox)
          * JSP InputTag and TextareaTag support the HTML "readonly" element correctly now, only rendering it if specified
          * JSP CheckboxTag applies custom editors for the element type when comparing collection elements
          * added missing "readonly" attribute to JSP TextareaTag
          * checkbox and radiobutton macros in "spring.vm" for Velocity do not render an id anymore (because it isn't unique)
          * checkbox macro in "spring.vm" for Velocity and "spring.ftl" for FreeMarker renders the default field marker
          * added theme macros to "spring.vm" for Velocity and "spring.ftl" for FreeMarker, providing access to theme messages


          附:將Spring2.0.2升級至2.0.3須謹慎!
          posted on 2007-04-18 01:43 山風小子 閱讀(2546) 評論(5)  編輯  收藏 所屬分類: SpringOthers
          主站蜘蛛池模板: 汤阴县| 綦江县| 建平县| 塔城市| 盐边县| 临安市| 汉阴县| 天台县| 古蔺县| 津南区| 启东市| 沛县| 东丰县| 图们市| 浦江县| 孙吴县| 丰宁| 仲巴县| 砚山县| 聊城市| 肇东市| 陇川县| 霍邱县| 河间市| 荣昌县| 佳木斯市| 革吉县| 石城县| 邻水| 汾阳市| 蓬莱市| 延长县| 乌拉特后旗| 襄垣县| 万载县| 肥城市| 荆门市| 五莲县| 冷水江市| 桃源县| 德化县|