- 11 9月, 2012 4 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-9243
-
由 Rossen Stoyanchev 提交于
AntPathMatcher now caches AntPathStringMatcher instances by pattern thus avoiding java.util.regex.Pattern recompilation. Issue: SPR-9749
-
由 Rossen Stoyanchev 提交于
While HandlerMethod instances are cached for lookup purposes, a new ServletInvocableHandlerMethod instance has to be created prior to each invocation since handlers may have non-singleton scope semantics. This change reduces the overhead of creating per request instances by using a logger with a fixed name rather than relying on getClass() and also by copying introspected method parameters from the cached HandlerMethod instance. Issue: SPR-9747, SPR-9748
-
- 10 9月, 2012 13 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-9243
-
由 Juergen Hoeller 提交于
Issue: SPR-9652
-
由 Juergen Hoeller 提交于
Issue: SPR-9670
-
由 Juergen Hoeller 提交于
Issue: SPR-9670
-
由 Juergen Hoeller 提交于
Issue: SPR-9770
-
由 Juergen Hoeller 提交于
Issue: SPR-9741
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-9243
-
由 Juergen Hoeller 提交于
Issue: SPR-9754
-
由 Arjen Poutsma 提交于
This commit refactors the BeanInfoFactory so that: - supports() and getBeanInfo() are folded into one, so that getBeanInfo() returns null if a given class is not supported. - CachedIntrospectionResults now uses SpringFactoriesLoader
-
由 Arjen Poutsma 提交于
-
由 Sam Brannen 提交于
- updated the link to the "indexed properties" section of the JavaBeans tutorial
-
由 Sam Brannen 提交于
-
- 09 9月, 2012 3 次提交
-
-
由 Chris Beams 提交于
Prior to this change, CachedIntrospectionResults delegated to ExtendedBeanInfo by default in order to inspect JavaBean PropertyDescriptor information for bean classes. Originally introduced with SPR-8079, ExtendedBeanInfo was designed to go beyond the capabilities of the default JavaBeans Introspector in order to support non-void returning setter methods, principally to support use of builder-style APIs within Spring XML. This is a complex affair, and the non-trivial logic in ExtendedBeanInfo has led to various bugs including regressions for bean classes that do not declare non-void returning setters. This commit takes advantage of the new BeanInfoFactory mechanism introduced in SPR-9677 to take ExtendedBeanInfo out of the default code path for CachedIntrospectionResults. Now, the new ExtendedBeanInfoFactory class will be detected and instantiated (per its entry in the META-INF/spring.beanInfoFactories properties file shipped with the spring-beans jar). ExtendedBeanInfoFactory#supports is invoked for all bean classes in order to determine whether they are candidates for ExtendedBeanInfo introspection, i.e. whether they declare non-void returning setter methods. If a class does not declare any such non-standard setter methods (the 99% case), then CachedIntrospectionResults will fall back to the default JavaBeans Introspector. While efforts have been made to fix any bugs with ExtendedBeanInfo, this change means that EBI will not pose any future risk for bean classes that do not declare non-standard setter methods, and also means greater efficiency in general. Issue: SPR-9723, SPR-9677, SPR-8079
-
由 Chris Beams 提交于
- Ensure that ExtendedBeanInfoTests succeeds when building under JDK 7 - Improve handling of read and write method registration where generic interfaces are involved, per SPR-9453 - Add repro test for SPR-9702, in which EBI fails to register an indexed read method under certain circumstances Issue: SPR-9702, SPR-9414, SPR-9453
-
由 Sam Brannen 提交于
-
- 08 9月, 2012 2 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
This change fixes a cyclical package dependency. The change also improves the implementation of WebAsyncManager.hasConcurrentResult() following the resolution of Apache issue id=53632 and the release of Apache Tomcat 7.0.30 that contains the fix.
-
- 07 9月, 2012 1 次提交
-
-
由 Arjen Poutsma 提交于
-
- 06 9月, 2012 7 次提交
-
-
由 Phillip Webb 提交于
Update the ReflectiveAspectJAdvisorFactory class to sort candidate AOP methods based on their annotation first and method name second. Prior to this the order of aspects created from annotated methods could differ depending on the underling JVM, as first noticed under JDK7 in SPR-9729. - ConvertingComparator and InstanceComparator have been introduced in support of this change, per SPR-9730. - A shared static INSTANCE field has been added to ComparableComparator to avoid unnecessary instantiation costs within ConvertingComparator as well as to prevent generics warnings during certain caller scenarios. Issue: SPR-9729, SPR-9730
-
由 Phillip Webb 提交于
-
由 Phillip Webb 提交于
- Refactor CompoundComparator constructor to use varargs - Refactor MediaType to consume new varargs constructor - Add notNull assertions where appropriate - Add generic typing where appropriate - Suppress generics warnings elsewhere - Fix whitespace errors
-
由 Arjen Poutsma 提交于
Before this commit, the Jaxb2Marshaller required all supported classes to be annotated with @XmlRootElement. This commit adds a property 'checkForXmlRootElement' (default is true) which allows for un-annotated classes. This is especially useful for JAXB2 implementations that can use external binding files, such as EclipseLink MOXy. Issue: SPR-9757
-
由 Chris Beams 提交于
This commit avoids eager creation of Environment instances, favoring delegation of already existing Environment objects where possible. For example, FrameworkServlet creates an ApplicationContext; both require a StandardServletEnvironment instance, and prior to this change, two instances were created where one would suffice - indeed these two instances may reasonably be expected to be the same. Now, the FrameworkServlet defers creation of its Environment, allowing users to supply a custom instance via its #setEnvironment method (e.g. within a WebApplicationInitializer); the FrameworkServlet then takes care to delegate that instance to the ApplicationContext created in #createWebApplicationContext. This behavior produces more consistent behavior with regard to delegation of the environment, saves unnecessary cycles by avoiding needless instantiation and calls to methods like StandardServletEnvironment#initPropertySources and leads to better logging output, as the user sees only one Environment created and initialized when working with the FrameworkServlet/DispatcherServlet. This commit also mirrors these changes across the corresponding Portlet* classes. Issue: SPR-9763
-
由 Chris Beams 提交于
This change fixes a minor bug with the implementation of ConfigurableEnvironment#merge, introduced in SPR-9444. During a merge of two environments A and B, where A has default profiles [prod] and B has default profiles [default] (the so-called 'reserved default profile'), B would complete the merge process having a collection of profiles reading [default, prod], which is incorrect. This commit explicitly ensure's that B's reserved default profile is removed if A has a set of default profiles greater than zero. If A consists only of [default], B will inherit it during the merge correctly; if A consists of [p1, p2], B will result in [p1, p2] as well; if B consists of [p1] and A of [p2, p3], B will result in [p1, p2, p3] post-merge. Issue: SPR-9761, SPR-9444
-
由 Chris Beams 提交于
Prior to this change, AbstractApplicationContext#prepareBeanFactory registered a bean named 'environment' once and only once within a given ApplicationContext hierarchy. This worked fine with the expectation that the Environment object is always delegated downward to children of that hierarchy. However, with SPR-9444 and the introduction of ConfigurableEnvironment#merge, this expectation was violated; each member of an application context hierarchy now maintains its own distinct Environment instance, which means that by extension that each application context's underlying BeanFactory should have its own 'environment' bean pointing to that context's environment instance. This problem could manifest in getting the wrong environment instance when calling #getBean(Environment) or when @Autowiring an Environment instance, for example into a @Configuration class. As reported in SPR-9756, this could result in false negative property lookups or incorrect results when checking whether a profile is active. This commit ensures that every bean factory in an application hierarchy has an 'environment' bean referring to the object returned from the enclosing ApplicationContext#getEnvironment method. Issue: SPR-9756, SPR-9444
-
- 05 9月, 2012 6 次提交
-
-
由 Rob Winch 提交于
This commit adds the ability to allow the MockFilterChain to invoke a List of Filter's and/or a Servlet. Issue: SPR-9745
-
由 Juergen Hoeller 提交于
Issue: SPR-9498
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
added Field context variant to TypeConverter interface in beans module; @Value injection works in combination with formatting rules such as @DateTimeFormat Issue: SPR-9637
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
- 04 9月, 2012 1 次提交
-
-
由 jhoeller 提交于
SPR-9498: relax logic detecting successful property editor after conversion exception
-
- 31 8月, 2012 3 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-9664
-
由 Juergen Hoeller 提交于
Issue: SPR-9181
-
由 Juergen Hoeller 提交于
Issue: SPR-9176 Issue: SPR-9627
-