发布于 2017-01-25 23:58:06 | 586 次阅读 | 评论: 0 | 来源: 网友投递
Spring Framework 开源j2ee框架
Spring是什么呢?首先它是一个开源的项目,而且目前非常活跃;它是一个基于IOC和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口,采用IOC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment,等等
Spring 4.3.6 发布了,该维护版本是即将发布的 Spring Boot 1.4.4 和 1.5.0 版本的基础,包括超过 60 个修补程序和选定的改进。更新如下:
Bug
[SPR-14892] - Injecting bean in configurable class using load-time weaving broken when referenced on scoped-proxy class
[SPR-15026] - LinkedCaseInsensitiveMap does not properly support Java 8's merge() and compute() methods
[SPR-15029] - ConcurrentModificationException in AbstractRequestExpectationManager
[SPR-15041] - Constant error 416 for a byte-range request with content type application/octet-stream
[SPR-15042] - Regression with poolTargetSource and scoped proxy
[SPR-15055] - AutoProxyRegistrar throws NullPointer on @kotlin.Metadata Annotation
[SPR-15060] - Annotated method argument matching performance issue
[SPR-15082] - Spring validation crashes with Hibernate Validation 5 style list constraint violations
[SPR-15088] - DefaultRedirectStrategy.sendRedirect with relative URL and ForwardedHeaderFilter add contextpath to URL twice
[SPR-15117] - Can't autowire BiMap: container resolves non-matching Map of value beans
[SPR-15123] - Incorrect resolution of ResolvableAttributes when MessageSourceSupport#alwaysUseMessageFormat is true
[SPR-15125] - Modification in AbstractAutowireCapableBeanFactory to prevent stackoverflow errors causes context not to load.
[SPR-15145] - SimpleApplicationEventMulticaster should not rely on ClassCastException having a message
[SPR-15151] - HeaderMethodArgumentResolver doesn't resolve Optional.empty() for non-existing header
[SPR-15160] - Collection autowiring does not resolve field-level type variable against containing class
[SPR-15179] - HiddenHttpMethodFilter may disturb error rendering when handling malformed multipart request
[SPR-15186] - InvocableHandlerMethod should call GenericTypeResolver with getBeanType() and only once
改进
[SPR-14097] - getBeanNamesForType(ResolvableType) does not reliably work for beans with AOP proxies
[SPR-14503] - Allow configuring the message converter in HttpPutFormContentFilter
[SPR-14505] - Deterministic and JVM-independent @Bean registration order within Class-reflected configuration classes
[SPR-14550] - Classes with abstract @Lookup methods not registered in case of classpath scanning
[SPR-14692] - ScheduledAnnotationBeanPostProcessor should reliably apply after AnnotationAwareAspectJAutoProxyCreator
[SPR-14829] - ContentCachingRequestWrapper can have maxContentLength to limit caching
[SPR-14960] - Consistent autowiring behavior for specifically typed injection points against loosely typed @Bean methods
[SPR-15035] - Reactor2StompTcpClient should use a shared EventLoopGroup
[SPR-15040] - @Aspect pointcut declarations do not support dynamically loaded classes
[SPR-15043] - Backward compatibility: initDefaultStrategies() is no longer invoked on subclasses of "MessageListenerAdapter"
[SPR-15045] - Remove unused Log object from MessageHeaderAccessor
[SPR-15061] - Backport streamlined ClassPathBeanDefinitionScanner setup
[SPR-15067] - SchedulingConfigurer's ScheduledTaskRegistrar should reliably shut down before TaskScheduler
[SPR-15068] - xml websockets configuration does not mirror annotation configuration
[SPR-15069] - Track bean dependencies for calls between @Bean methods within @Configuration classes
[SPR-15075] - Remove String#toCharArray from ScriptUtils
[SPR-15090] - GenericTableMetaDataProvider could use non standard named TableMeta-Schema if only one found
[SPR-15091] - Implement MessagingException.toString()
[SPR-15094] - Improve performance of StringUtils.capitalize()
[SPR-15096] - Clarify WebContentInterceptor path mappings and efficiently match them
[SPR-15098] - Unable to specify factory bean in BeanDefinitionBuilder
[SPR-15101] - Netty4ClientHttpRequestFactory should use SNI for TLS connections
[SPR-15107] - Update MySQLMaxValueIncrementer to not rely on MYISAM
[SPR-15109] - Add MimeType and MediaType constants for RSS
[SPR-15116] - MockHttpServletRequestBuilder should support multiple locales
[SPR-15139] - org.springframework.messaging.handler.invocation.InvocableHandlerMethod should not mention "controller"
[SPR-15142] - MockSessionCookieConfig#maxAge defaults to 0 instead of -1
[SPR-15168] - MockRestServiceServer should allow for an expectation to never occur.
[SPR-15175] - Scheduled/JmsListenerAnnotationBeanPostProcessor free heap space
[SPR-15178] - DispatcherServet.checkMultipart() does not consider javax.servlet.error.exception that has a MultipartException cause
[SPR-15180] - Tolerate null return from getNegotiatedExtensions (for Jetty 9.4.1 compatibility)
[SPR-15182] - CookieLocaleResolver may disturb error rendering when locale cookie has a malformed value
重构
[SPR-15053] - Refactor AbstractNestablePropertyAccessor#setPropertyValue(PropertyTokenHolder, PropertyValue)
任务
[SPR-8704] - Doc: @Autowired properties not reliably set in FactoryBean before getObject
[SPR-14602] - Doc: @Bean methods on @Configuration class returned from another @Bean method do not work
[SPR-14998] - Compatibility with Hibernate Validator 5.4
[SPR-15052] - Doc: Can't issue PATCH request using RestTemplate with SimpleClientHttpRequestFactory
[SPR-15071] - Upgrade to ASM 5.2
[SPR-15072] - Doc: autowire-candidate="false" does not affect autowire="byName"
[SPR-15076] - Remove use of Boolean constructors in tests
[SPR-15077] - Avoid use of double constructor of BigDecimal in tests
[SPR-15129] - Using the Spring stomp broker relay forces reactor 2 and prevents using reactor 3
[SPR-15137] - Deprecate unused web-specific MimeTypeUtils constants
[SPR-15146] - Upgrade to Objenesis 2.5
[SPR-15153] - Reference documentation for Groovy bean definition DSL
[SPR-15155] - CookieLocaleResolver maxAge documentation wrong
[SPR-15170] - Improve the logging documentation
源码下载