Juergen Hoeller
fe56aa6fa4
Polishing
2019-03-13 15:32:24 +01:00
Juergen Hoeller
88049e9b5c
EventListenerMethodProcessor skips annotation search on java classes
...
Closes gh-22564
2019-03-13 15:32:14 +01:00
Juergen Hoeller
4bee5073a0
Proper exception for non-matching argument on unique factory method
...
See gh-22420
2019-03-13 14:04:17 +01:00
Juergen Hoeller
c0ddaae5c0
Shared empty InjectionMetadata/LifecycleMetadata instance
...
Closes gh-22570
2019-03-12 22:45:24 +01:00
Juergen Hoeller
40c62139ae
Early resolution of unique factory methods in configuration classes
...
Includes consistent bean class resolution in the enhancement step as well as general reflection optimizations for user-declared methods.
Closes gh-22420
2019-03-12 17:17:24 +01:00
Сергей Цыпанов
a35adc6ea6
Add missing break statements to stop looping when result is known
...
Closes gh-22573
2019-03-12 13:15:59 +01:00
Juergen Hoeller
e3a9826e56
Bypass method traversal for annotation introspection if possible
...
The isCandidateClass mechanism is consistently used for a bypass check before method traversal attempts. While by default this is only bypassing standard java types, the same mechanism can be used with index metadata which indicates non-presence of certain annotations.
See gh-22420
2019-03-12 00:12:22 +01:00
Sam Brannen
b109f140a7
Improve documentation for annotation filters with component scanning
...
Prior to this commit the documentation for annotation-based include and
exclude filters used with component scanning did not explicitly mention
the fact that annotations are considered a match if they are either
present or meta-present on candidate classes.
This commit improves the documentation in this regard.
See gh-22551
2019-03-09 16:30:30 +01:00
Juergen Hoeller
1a8b3fba94
Configuration classes can opt into lite mode (proxyBeanMethods=false)
...
Closes gh-22461
2019-03-08 15:59:11 +01:00
Juergen Hoeller
ac4c37d8e2
Merge branch '5.1.x'
2019-03-07 18:05:46 +01:00
Juergen Hoeller
6c87ef09c1
Polishing
2019-03-07 17:55:32 +01:00
Juergen Hoeller
777b4c809d
Merge branch '5.1.x'
2019-03-06 14:06:06 +01:00
Juergen Hoeller
7cbb3b06a0
Consistent local vs external resolution of https schema references
...
Closes gh-22504
2019-03-06 13:50:40 +01:00
www
fd5a7c2dcc
Fix Javadoc for AbstractApplicationContext.registerBeanPostProcessors()
...
Closes gh-22513
2019-03-06 12:12:17 +01:00
Juergen Hoeller
18f2e6a12d
AnnotationConfigRegistry exposes registerBean with supplier/qualifiers
...
Closes gh-22457
2019-03-05 18:26:04 +01:00
www
ef91313342
Use String::isEmpty instead of "".equals(arg) when arg is not null
2019-03-05 14:32:56 +01:00
Sam Brannen
b7d60b9b89
Improve @EventListener documentation
2019-03-04 14:44:44 +01:00
Sam Brannen
70cf597484
Remove obsolete overview.html files
2019-03-04 14:07:48 +01:00
Sam Brannen
0ca5afd8e4
Fix broken test
2019-03-03 23:08:44 +01:00
Sam Brannen
e7bd305e87
Suppress warnings in tests
2019-03-03 22:17:52 +01:00
Sam Brannen
6daf33deff
Document that @Async is not supported in @Configuration classes
2019-03-03 18:29:45 +01:00
Sam Brannen
6853d50ddb
Polishing
2019-03-03 16:29:49 +01:00
Sam Brannen
02be21d0dc
Polishing
2019-03-02 14:22:28 +01:00
Juergen Hoeller
a7db395d9b
Merge branch '5.1.x'
2019-02-28 19:29:04 +01:00
Juergen Hoeller
7a7c7f51e3
Polishing
2019-02-28 15:37:47 +01:00
Juergen Hoeller
fc7948c96b
Merge branch '5.1.x'
2019-02-27 17:34:46 +01:00
Juergen Hoeller
0288878bcc
Consistent handling of early FactoryBean instantiation failures
...
Closes gh-22409
2019-02-27 17:26:35 +01:00
pelladigabor
a07245caf8
Exclude jdk package in ShadowingClassLoader
...
Many Java 11 internal classes are located in the jdk package. ShadowingClassLoader should not load them, because it can cause errors, e.g. java.lang.IllegalAccessError: class jdk.internal.reflect.ConstructorAccessorImpl loaded by org.springframework.instrument.classloading.ShadowingClassLoader @2bea5ab4 cannot access jdk/internal/reflect superclass jdk.internal.reflect.MagicAccessorImpl
2019-02-27 16:57:08 +01:00
www
c31613dc74
Instantiate ArrayList class with a exact initial capacity
2019-02-25 23:13:35 +01:00
Juergen Hoeller
bc0317af3b
Merge branch '5.1.x'
2019-02-25 17:57:49 +01:00
Juergen Hoeller
9eb7f7e294
Polishing
2019-02-25 17:36:37 +01:00
Juergen Hoeller
4be41e9e26
Only use payload if it actually matches declared event type
...
Closes gh-22426
2019-02-25 17:18:07 +01:00
Sam Brannen
d61c3d429c
Improve Javadoc and exception message for LTW classes
2019-02-25 14:21:23 +01:00
Sebastien Deleuze
dc8fb8bc5e
Use StringJoiner where possible to simplify String joining
2019-02-25 12:11:57 +01:00
www
f2aa374b73
Polish
...
Closes gh-22463
2019-02-25 08:41:00 +01:00
Juergen Hoeller
6db75956b9
Merge branch '5.1.x'
2019-02-15 17:16:28 +01:00
Juergen Hoeller
e307dd58db
Polishing
2019-02-15 17:06:11 +01:00
Juergen Hoeller
4e47006a17
Merge branch '5.1.x'
2019-02-12 09:09:19 +01:00
Juergen Hoeller
8637540678
Expose empty annotation array as empty AnnotationAttributes array
...
Closes gh-22405
2019-02-12 09:07:51 +01:00
Juergen Hoeller
0b617a8c93
Deprecate PreferencesPlaceholderConfigurer along with its base class
...
Also removing common PropertyPlaceholderConfigurer doc references.
See gh-22181
2019-02-07 16:53:05 +01:00
Juergen Hoeller
d25783329a
Merge branch '5.1.x'
2019-02-07 16:01:14 +01:00
Juergen Hoeller
0f73a69033
AbstractApplicationContext resets local listeners to pre-refresh state
...
Closes gh-22325
2019-02-07 15:56:46 +01:00
Juergen Hoeller
e9626779ee
@Resource provides dependency descriptor for resolving beans by name
...
Closes gh-22359
2019-02-07 15:56:00 +01:00
Sebastien Deleuze
3787b23a98
Deprecate PropertyPlaceholderConfigurer
...
This commit deprecates PropertyPlaceholderConfigurer in favor of
PropertySourcesPlaceholderConfigurer.
Closes gh-22181
2019-02-06 16:00:24 +01:00
Sebastien Deleuze
0ad9349d84
Limit ref() and provider() visibility in Kotlin DSL
...
This commit makes ref() and provider() only available from
inside the bean lambda and not from the root level of the beans DSL.
Closes gh-22177
2019-02-05 16:59:56 +01:00
Juergen Hoeller
0ebc020b21
Load-time weaving support for WildFly 13+ (JBoss Modules 1.8+)
...
Fixes gh-22297
2019-02-05 00:44:52 +01:00
Juergen Hoeller
a27a6470f7
Polishing
2019-02-05 00:10:22 +01:00
kudrevatykh
85474297be
Load-time weaving support for WildFly 13+ ( #22297 )
...
Load-time weaving support for WildFly 13+ (JBoss Modules 1.8+)
2019-02-04 23:31:21 +01:00
Juergen Hoeller
5aed117b68
Model interface exposes getAttribute method (next to add/contains)
...
Fixes gh-22145
2019-01-28 22:50:29 +01:00
Juergen Hoeller
d0033f12d0
ApplicationListenerMethodAdapter uses target method for order lookup
...
Fixes #22307
2019-01-25 15:44:43 +01:00
Rossen Stoyanchev
bdac937a43
Replace more references to issue tracker
...
Fixes #22254
2019-01-17 17:08:39 -05:00
Juergen Hoeller
f56fa91430
Polishing
2019-01-08 17:11:34 +01:00
Juergen Hoeller
9cb5369cb9
DependencyDescriptor supports TypeDescriptor resolution for fields
...
This allows for proper nested type conversion in @Value Optional fields analogous to method parameters, through a new TypeDescriptor-based method in the TypeConverter SPI. As an additional and less involved measure that is worth backporting, DefaultListableBeanFactory defensively checks for pre-converted Optional wrappers.
Issue: SPR-17607
2019-01-08 17:11:27 +01:00
Juergen Hoeller
199be6aec5
ValidationUtils.invokeValidator assertion for non-null target object
2018-12-17 14:24:56 +01:00
Juergen Hoeller
aab421167b
Revised format annotation docs
2018-12-13 17:19:50 +01:00
igor-suhorukov
93189a6733
String.indexOf() expressions can be replaced with a call to the String.contains() method available in Java 5 and newer.
2018-12-13 12:29:31 +01:00
diguage
ee95a110bd
Fix sample in EnableAsync Javadoc
...
Closes gh-2050
2018-12-13 10:16:56 +01:00
Juergen Hoeller
c48672c4c7
ParameterNameDiscoverer may return individual null entries in an array
...
Issue: SPR-17565
2018-12-12 21:56:17 +01:00
Rossen Stoyanchev
38ae282c3b
Update log category precision for all tests
...
Replace the full category capped at 36 chars with the class name only
and 1 char per package, e.g. org.apache.commons.Foo -> o.a.c.Foo
2018-12-12 11:40:33 -05:00
Juergen Hoeller
2c98c1b81a
Relaxed assertion in NotificationPublisherAwareLazyTargetSource
...
Issue: SPR-17592
2018-12-12 12:16:14 +01:00
Juergen Hoeller
ebbe14c363
ResolvableType-based matching consistently respects generic factory method return type (even for pre-initialized raw singleton instance)
...
Issue: SPR-17524
2018-11-25 21:27:19 +01:00
Juergen Hoeller
ae8f680d2e
Polishing
2018-11-22 18:21:56 +01:00
Juergen Hoeller
bf272b0b21
Nullability fine-tuning based on IntelliJ IDEA 2018.3 inspection
...
Issue: SPR-15540
2018-11-22 16:12:38 +01:00
Juergen Hoeller
8c7579eba8
Polishing
2018-11-20 22:06:44 +01:00
Juergen Hoeller
2a5d7690b6
CglibAopProxy skips method proxy for equals/hashCode/toString override
...
Issue: SPR-17500
2018-11-20 22:04:28 +01:00
Stephane Nicoll
7b6f2f8fb3
Polish contribution
...
Closes gh-2019
2018-11-19 08:45:33 +01:00
Hanope
bfb49c7249
Fix typos
...
See gh-2019
2018-11-19 08:41:21 +01:00
Juergen Hoeller
40148c0560
Consistent use of ResolvableType.toClass() for assignability checks
...
Issue: SPR-17086
2018-11-12 20:29:37 +01:00
Juergen Hoeller
dc1e3b4628
Exclude FactoryBean implementation methods on CGLIB proxies as well
...
Issue: SPR-17374
2018-10-27 14:36:56 +02:00
Juergen Hoeller
00b7782b5f
Clarify destruction order effect in @DependsOn annotation javadoc
...
Issue: SPR-17384
2018-10-18 18:03:44 +02:00
Juergen Hoeller
93bb78ec23
Avoid private bean classes in integration tests (for CGLIB on JDK 11)
...
Issue: SPR-16391
2018-10-15 12:26:38 +02:00
Juergen Hoeller
5f2d47a17e
MethodValidationInterceptor excludes FactoryBean metadata methods
...
Issue: SPR-17374
2018-10-14 21:07:56 +02:00
Juergen Hoeller
309e70a48e
Separate factory method cache for introspection purposes
...
Issue: SPR-17358
Issue: SPR-8891
2018-10-12 22:53:50 +02:00
volkovandr
61403e3bd3
Updated Javadoc: date format patterns SPR-17366
2018-10-11 10:52:32 +02:00
Juergen Hoeller
c89e3e6e0d
Restore original factory method caching (addressing Boot regressions)
...
Issue: SPR-17358
2018-10-10 23:53:13 +02:00
Stephane Nicoll
82a211fa96
Fix checkstyle violation
2018-10-10 10:45:08 +02:00
Stephane Nicoll
062805fcb3
Recursively process DeferredImportSelector properly
...
Previously, if a DeferredImportSelector was identified at a later stage
as part of processing the collected set of deferred imports, such
selector was processed as a regular import selector.
Semantically, it makes sense as we already are in the deferred phase at
this point and it doesn't make much sense to bother about the extra
contract.
However, Spring Framework 5 introduced the notion of Group that a
deferred import selector can define. When it does, the container has to
honour the contract of the Group rather than calling the simpler
ImportSelector parent contract.
This commit restructures the processing of such case. When a deferred
import selector is detected while processing deferred import selectors,
a group is created with only that selector and the group API is invoked.
Issue: SPR-17351
2018-10-10 10:19:11 +02:00
Juergen Hoeller
f662e3b85e
BeanFactoryAnnotationUtils provides qualifiedBeansOfType method
...
Includes consistent upfront resolution of factory method annotations.
Issue: SPR-8891
2018-10-09 23:14:27 +02:00
Juergen Hoeller
c8c0737ce7
AbstractApplicationContext.getApplicationListeners() exposes all statically registered listeners
...
Issue: SPR-17324
2018-10-09 23:13:37 +02:00
Sebastien Deleuze
af6a5566a3
Replace context by provider<T>() in Kotlin bean DSL
...
Spring Framework 5.1.0 exposed by mistake context in the Kotlin bean DSL
API in order to fix SPR-16269. Now that BeanFactory#getBeanprovider is
available, it should be exposed via a provider<Foo>() function in order
to provide a more clean API instead.
Issue: SPR-17352
2018-10-08 14:00:12 +02:00
Juergen Hoeller
9063e66c5d
AbstractApplicationEventMulticaster pre-sorts singleton listeners
...
Issue: SPR-17307
2018-09-29 17:15:53 +02:00
Sebastien Deleuze
f7839675f6
Don't set role in Kotlin bean DSL unless specified
...
Issue: SPR-17275
2018-09-20 00:21:38 +02:00
Sebastien Deleuze
47d6e91227
Leverage non-default ctor support in Kotlin bean DSL
...
Since non-default constructors are now evaluated for autowiring,
there is no need anymore for setting autowiring mode or exposing
it in Kotlin bean DSL.
Issue: SPR-17292
2018-09-20 00:21:38 +02:00
Juergen Hoeller
b6b880ce27
Polishing
2018-09-19 23:05:40 +02:00
Juergen Hoeller
082c524cbe
Polishing
2018-09-19 22:19:49 +02:00
Juergen Hoeller
d3c08552e9
Revisit GenericApplicationContext.registerBean constructor handling
...
Support for Kotlin primary constructor and non-default public constructors in addition to default instantiation, aligned with AnnotationConfigApplicationContext and model attribute processing.
Issue: SPR-17292
2018-09-19 22:19:43 +02:00
Juergen Hoeller
0948edb39d
Nested configuration class introspection check on concrete class
...
Issue: SPR-16839
2018-09-17 19:09:55 +02:00
Juergen Hoeller
c8869d99f5
Deprecate autowire attribute on @Bean annotation
...
Issue: SPR-17281
2018-09-17 19:09:21 +02:00
Juergen Hoeller
34663300a6
Avoid regex pattern matching for simple String replacement steps
...
Issue: SPR-17279
2018-09-17 14:22:19 +02:00
Sebastien Deleuze
c4aea626fe
Update Kotlin bean DSL with new BeanDefinition methods
...
Issue: SPR-17275
2018-09-17 12:01:33 +02:00
Juergen Hoeller
97cea7f36e
BeanDefinition interface exposes initMethodName and destroyMethodName
...
Also includes setters for role and description.
Issue: SPR-17275
2018-09-13 20:24:36 +02:00
Juergen Hoeller
77887ef739
BeanValidationPostProcessor validates singleton target behind proxy
...
Issue: SPR-17273
2018-09-13 20:24:27 +02:00
Juergen Hoeller
65c8fa400f
Consistent ordered list access and lazy streaming for ObjectProvider
...
Includes fallback match for collection/map dependency if qualified.
Issue: SPR-17272
Issue: SPR-17197
2018-09-13 18:23:19 +02:00
Pascal Schumacher
184340ff8e
Remove duplicate blank in log message of ExecutorConfigurationSupport#initialize
...
(obvious fix)
2018-09-12 21:32:43 +02:00
Juergen Hoeller
b6d32ef55f
Bean definition DSL generates unique bean names for bean classes
...
Issue: SPR-17242
2018-09-12 14:59:10 +02:00
Juergen Hoeller
b83bc39ecd
Restrict nested configuration class introspection to component types
...
Issue: SPR-16839
2018-09-12 14:02:45 +02:00
Johnny Lim
43a814b070
Remove duplicate assertions in AsyncExecutionTests
2018-09-11 17:19:32 +02:00
Juergen Hoeller
c803ad7998
ConfigurationClassParser consistently uses ClassUtils.forName
...
Issue: SPR-17253
2018-09-07 12:56:23 +02:00
Sam Brannen
f55a6051df
Document default embedded value resolver support for property
...
placeholders
Spring 4.3 introduced support for registering a default embedded value
resolver for the default environment, in case of none having been
registered through post-processors (like PropertyPlaceholderConfigurer
and PropertySourcesPlaceholderConfigurer. However, the existing
documentation – stating that a static
PropertySourcesPlaceholderConfigurer bean is required in order for
values coming from @PropertySource declarations to be honored – was not
updated to reflect the change.
This commit addresses this by updating the JavaDoc for @Configuration
and @PropertySource accordingly
Issue: SPR-17212
2018-09-06 18:36:49 +02:00
Sam Brannen
bff2d2cc85
Polishing
2018-09-04 14:47:37 +02:00
Korovin Anatoliy
ab086f4225
Fix fragile tests for asynchronous events
...
This commit introduces a dependency on the Awaitility assertion
framework and makes use of asynchronous assertions in order to make
tests for asynchronous events more robust.
Issue: SPR-17211
2018-09-04 14:20:05 +02:00
Juergen Hoeller
95a56cd28d
Polishing
2018-08-31 12:41:40 +02:00
stsypanov
7dba79c7c1
Use String::isEmpty instead of "".equals(arg) when arg is not null
2018-08-26 22:48:21 +02:00
Sam Brannen
4883b8aa03
Polish JavaDoc for @Configuration
2018-08-26 22:07:07 +02:00
Sam Brannen
52c91910b2
Polish JavaDoc for @Configuration
2018-08-26 15:03:05 +02:00
Juergen Hoeller
1d59e52f11
EventListenerMethodProcessor accepts internal configuration classes
...
Issue: SPR-17160
2018-08-18 12:05:39 +02:00
Juergen Hoeller
84300b796c
Fix recent javadoc errors
...
Issue: SPR-17174
2018-08-16 18:51:31 +02:00
Juergen Hoeller
2ec8fa9cac
SmartLifecycle default methods for auto-startup in default phase
...
Issue: SPR-17188
2018-08-16 12:08:02 +02:00
Juergen Hoeller
109a2b49e5
Consistently skip unnecessary search on superclasses and empty elements
...
Includes caching of declared annotation arrays and combined searching for several annotation types (used in SpringCacheAnnotationParser).
Issue: SPR-16933
2018-08-15 17:30:14 +02:00
Juergen Hoeller
04a7f0884b
SpringCacheAnnotationParser.parseCacheAnnotations cannot be protected
...
Its parameter DefaultCacheConfig is just package-visible...
2018-08-13 12:43:59 +02:00
Sam Brannen
aebbd949a8
Suppress deprecation warnings in AnnotationProcessorPerformanceTests
2018-08-13 12:35:19 +02:00
Juergen Hoeller
c4a7567a5e
Post-processors consistently ignore ScopedObject/AopInfrastructureBean
...
JmsListenerAnnotationBeanPostProcessor also ignores JmsListenerContainerFactory and JmsListenerEndpointRegistry, avoiding unnecessary annotation introspection on framework classes.
Issue: SPR-17166
Issue: SPR-16933
2018-08-12 11:47:28 +02:00
Juergen Hoeller
71d4dbea13
Post-processors ignore AopInfrastructureBean (includes ScopedObject)
...
Issue: SPR-17166
2018-08-11 23:10:57 +02:00
Juergen Hoeller
8bf8092740
Post-processors consistently ignore ScopedObject/AopInfrastructureBean
...
ScheduledAnnotationBeanPostProcessor also ignores TaskScheduler and ScheduledExecutorService, avoiding unnecessary annotation introspection on framework classes.
Issue: SPR-17166
Issue: SPR-16933
2018-08-11 22:20:07 +02:00
Juergen Hoeller
aebb2d52e0
Logging refinements for transaction and cache processing (debug/trace)
...
Issue: SPR-16946
2018-08-10 15:45:46 +02:00
Juergen Hoeller
c437a0d1c3
Declare default methods for supportsSourceType and getOrder
...
Issue: SPR-17163
2018-08-10 15:42:30 +02:00
Juergen Hoeller
20f2e23bfb
Polishing
2018-08-09 23:57:25 +02:00
Juergen Hoeller
b3ca2d50a2
DefaultLifecycleProcessor properly counts dependent beans in same phase
...
Includes log level revision towards TRACE for cleaner DEBUG experience.
Issue: SPR-16901
Issue: SPR-16946
2018-08-09 17:31:29 +02:00
Juergen Hoeller
3a5def047f
@Scheduled supports "-" as cron expression value for disabled triggers
...
Issue: SPR-16858
2018-08-09 16:12:05 +02:00
Juergen Hoeller
8e571decc1
Polishing
2018-08-09 11:59:15 +02:00
Juergen Hoeller
7cf98261ce
Polishing
2018-08-08 23:56:17 +02:00
Juergen Hoeller
3f7d4b107e
Avoid unnecessary annotation introspection on framework classes
...
Issue: SPR-16933
2018-08-08 23:53:45 +02:00
Juergen Hoeller
b8b6367f9b
ConcurrentModel ignores null value for put (also used by putAll)
...
Issue: SPR-17141
2018-08-08 23:51:55 +02:00
Sam Brannen
52f6dcf525
Fix typo
2018-08-08 13:25:14 +02:00
Kazuhiro Sera
be211ceead
Fix typos detected by github.com/client9/misspell
2018-08-08 12:50:46 +02:00
Juergen Hoeller
b325c74216
Pruning of outdated JDK 6/7 references (plus related polishing)
2018-08-07 20:36:47 +02:00
Juergen Hoeller
2b051b8b32
Deprecate support classes for Sun's JDK HTTP server
...
Issue: SPR-17143
2018-08-07 20:35:53 +02:00
Juergen Hoeller
34ddb88851
ConcurrentModel.addAttribute(String, Object) ignores null value
...
Issue: SPR-17141
2018-08-07 20:35:34 +02:00
Juergen Hoeller
2938a95435
Pre-size LinkedHashSet for annotation parsers
...
Issue: SPR-17074
2018-08-07 01:35:57 +02:00
Juergen Hoeller
d72d376f03
Avoid unnecessary annotation introspection on framework methods
...
Issue: SPR-16933
2018-08-07 01:35:32 +02:00
Juergen Hoeller
e64c6dfa3d
MergedBeanDefinitionPostProcessors clear internal caches on bean reset
...
Issue: SPR-17126
2018-08-06 15:41:35 +02:00
Juergen Hoeller
50550717d6
SchedulingTaskExecutor provides prefersShortLivedTasks default method
...
Issue: SPR-17116
2018-08-02 14:36:53 +02:00
Juergen Hoeller
589b7048ec
Avoid synthesizable annotation creation for @Bean/@Scope processing
...
Includes consistent (non-)use of AnnotationUtils/AnnotatedElementUtils.
Issue: SPR-16933
2018-08-01 11:43:28 +02:00
Сергей Цыпанов
f8340838b3
Use lambda expressions for lazy instantiation ( #1911 )
...
Issue: SPR-17074
2018-07-31 13:03:18 +02:00
Juergen Hoeller
f74a631ea1
Nullability refinements in spring-webmvc
...
Includes revision of web.servlet.tags.form for non-null conventions.
Issue: SPR-15540
2018-07-30 22:08:11 +02:00
Juergen Hoeller
4a147d26fc
Initialize pre-filled HashMaps with large enough capacity
...
Empty Maps are preferably initialized without capacity (not initializing them at all or lazily initializing with default capacity when needed).
Issue: SPR-17105
2018-07-30 22:07:31 +02:00
Juergen Hoeller
1fd6248d84
Polishing
2018-07-27 17:46:21 +02:00
Juergen Hoeller
c037e75f26
Improve debug logging at BeanDefinitionReader and BeanFactory level
...
Issue: SPR-17090
2018-07-27 17:46:05 +02:00
Juergen Hoeller
025fd2962e
Polishing
2018-07-26 23:51:52 +02:00
Juergen Hoeller
7c9ba80f85
Polishing
2018-07-26 23:20:50 +02:00
Bhavani Shekhawat
ee95f171c8
Update PropertySourcesPlaceholderConfigurer.java
...
Fix the error message when PropertySources are not applied
2018-07-26 20:48:50 +02:00
Juergen Hoeller
e458777925
Properly identify event-related ClassCastExceptions on JDK 11
...
Issue: SPR-17093
2018-07-26 14:41:53 +02:00
Rossen Stoyanchev
14d0fee86c
Improve context-related logging on web startup
...
Sample output at TRACE:
```
DispatcherServlet - Initializing Servlet 'org.springframework.web.servlet.DispatcherServlet-7a8c8dcf'
AnnotationConfigWebApplicationContext - Refreshing WebApplicationContext for namespace 'org.springframework.web.servlet.DispatcherServlet-7a8c8dcf-servlet', started on Wed Jul 25 17:46:38 EDT 2018
AnnotationConfigWebApplicationContext - Registering [org.springframework.web.servlet.mvc.method.annotation.RequestPartIntegrationTests$CommonsMultipartResolverTestConfig]
AnnotationConfigWebApplicationContext - No 'messageSource' bean, using [Empty MessageSource]
AnnotationConfigWebApplicationContext - No 'applicationEventMulticaster' bean, using [SimpleApplicationEventMulticaster]
AnnotationConfigWebApplicationContext - No 'lifecycleProcessor' bean, using [DefaultLifecycleProcessor]
...
DispatcherServlet - Initialization completed in 3361 ms
```
Issue: SPR-16946
2018-07-25 17:50:03 -04:00
Sebastien Deleuze
d3b244a81b
Optimize class detection by sharing the ClassLoader
...
Issue: SPR-17083
2018-07-25 11:09:42 +02:00
Juergen Hoeller
20c34cbb9b
Provide predetermined capacity for cache operation collections
...
Issue: SPR-17079
2018-07-24 13:27:02 +02:00
Juergen Hoeller
a9c9ba6601
Generic matching for ObjectProvider stream and empty vararg resolution
...
Issue: SPR-11419
Issue: SPR-15338
2018-07-24 13:03:54 +02:00
Juergen Hoeller
1603c4ab2f
Programmatic ObjectProvider retrieval through BeanFactory API
...
Introduces getBeanProvider(Class) and getBeanProvider(ResolvableType), also narrowing getBean(String, Class) and isTypeMatch(String, Class) to a non-null Class argument and enriching NoUniqueBeanDefinitionException with a full ResolvableType. In addition, ObjectProvider supports iterable/stream access for collection-style resolution of multiple matching beans now, and collection injection falls back to an empty collection in a single-constructor case with non-null arguments.
Issue: SPR-17075
Issue: SPR-11419
Issue: SPR-15338
2018-07-24 00:42:03 +02:00
Juergen Hoeller
13873dafb7
Polishing
2018-07-22 17:55:31 +02:00
Juergen Hoeller
9a43d2ec20
Revised log levels: less WARN and INFO, fine-tuned DEBUG vs TRACE
...
Issue: SPR-16946
2018-07-20 15:05:16 +02:00
Juergen Hoeller
252f52ab07
Tighten (IntroductionAware)MethodMatcher contract
...
Provides a non-null guarantee for MethodMatcher's targetClass argument and strict separation between IntroductionAwareMethodMatcher and regular MethodMatcher, enabling DefaultAdvisorChainFactory to defer its IntroductionAdvisor determination until encountering an actual IntroductionAwareMethodMatcher (even behind union/intersection).
Issue: SPR-17068
2018-07-20 00:17:31 +02:00
Juergen Hoeller
478d7255d2
GenericApplicationListenerAdapter caches resolved event types
...
Issue: SPR-16970
2018-07-19 16:34:19 +02:00
Juergen Hoeller
52d124de6f
Use supplier-aligned type information for FactoryBean type resolution
...
Issue: SPR-17063
2018-07-19 13:14:20 +02:00
Juergen Hoeller
0b60447c49
Javadoc update: ConfigurationClassPostProcessor is priority-ordered
...
Issue: SPR-17062
2018-07-19 11:59:40 +02:00
Juergen Hoeller
9c08a482d1
Prefer ArrayList/ArrayDeque over LinkedList for multi-element holders
...
LinkedList remains in place where a List is likely to remain empty or single-element (in order to avoid unused capacity).
Issue: SPR-17037
2018-07-18 22:17:42 +02:00
Juergen Hoeller
28f7b26294
Null-returning instance supplier resolves to NullBean
...
Issue: SPR-17057
2018-07-18 15:26:06 +02:00
Juergen Hoeller
5fcfe0fa8e
Polishing
2018-07-18 14:27:16 +02:00
Juergen Hoeller
955665b419
Consistent processing of binding/validation failures for data classes
...
Includes an extension of SmartValidator for candidate value validation, as well as nullability refinements in Validator and BindingResult.
Issue: SPR-16840
Issue: SPR-16841
Issue: SPR-16854
2018-07-17 17:01:34 +02:00
Juergen Hoeller
faef363e85
Evaluate @Cacheable(condition) once per method invocation only
...
Issue: SPR-17024
2018-07-16 13:04:14 +02:00
Juergen Hoeller
f6fdffd663
Lazily retrieve delegate beans in AsyncConfigurer and CachingConfigurer
...
Introduces a configure method pattern for Supplier-style configuration and a common SingletonSupplier decorator for method reference suppliers. Also declares jcache.config and jcache.interceptor for non-null conventions.
Issue: SPR-17021
2018-07-14 19:29:32 +02:00
Juergen Hoeller
fc699b2b37
@Bean provides autowireCandidate flag (analogous to XML definitions)
...
Issue: SPR-16204
2018-07-04 22:41:05 +02:00
Juergen Hoeller
a5dd0f0c09
Fix accidental @Nullable declaration on addAttribute(Object)
...
Issue: SPR-16831
2018-07-04 15:06:56 +02:00
Juergen Hoeller
f2787cfb35
Same method filtering in ConstructorResolver and getTypeForFactoryMethod
...
Issue: SPR-16999
2018-07-03 15:53:17 +02:00
Juergen Hoeller
e5a6711d29
Consistent final declaration for static delegate classes
...
Issue: SPR-16968
2018-07-02 13:55:18 +02:00
Juergen Hoeller
4ff1e3e74b
Consistent abstract declaration for utility classes (plus polishing)
...
Issue: SPR-16968
2018-07-01 02:31:20 +02:00
Juergen Hoeller
d58c09b89f
Up-to-date coverage of task executor and scheduler variants
...
Includes a clarification of ThreadPoolExecutor configuration options and a note on early AsyncConfigurer initialization.
Issue: SPR-16944
Issue: SPR-16945
2018-06-29 19:43:14 +02:00
Juergen Hoeller
8ad5299f4a
Polishing
2018-06-28 17:12:29 +02:00
Juergen Hoeller
40efcc933c
Polishing
2018-06-28 14:51:33 +02:00
Juergen Hoeller
81cb740e0a
New postProcessProperties variant on InstantiationAwareBeanPostProcessor
...
Allows for skipping the now-deprecated postProcessPropertyValues callback with its expensive PropertyDescriptor retrieval requirement. RequiredAnnotationBeanPostProcessor (which is dependent on postProcessPropertyValues) and the @Required annotation itself are also deprecated now: in favor of constructor injection (or afterPropertiesSet).
Issue: SPR-16918
2018-06-28 14:15:16 +02:00
Phillip Webb
a89e716cc7
Use tabs rather than spaces in tests
...
Update tests to ensure that tabs are used instead of spaces. Also
consistently apply a new line at the end of each file.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
1c25cec44f
Polish test code
...
Polish a few issue identified when adding checkstyle to the
build. Although checkstyle is not enforcing rules on tests,
these are a few minor changes that are still worth making.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
81451aa800
Organize imports
...
Reorganize imports to ensure consistent ordering. This commit also
expands any `.*` static imports in favor of using fully-qualified
method references.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
b220d94cc2
Never use parenthesis for single lambda arguments
...
Update all lambdas that take a single argument so that parenthesis
are never used.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
5cedd0d5d4
Consistently use tabs rather than spaces
...
Update code that has accidentally used spaces instead of tabs.
Also remove all trailing whitespace.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
9de3689f63
Never use 'this.' when accessing loggers
...
Ensure that `this.` is never used when accessing loggers.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0b53c1096a
Always use 'this.' when accessing fields
...
Ensure that `this.` is used consistently when accessing class
fields.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
eeebd51f57
Use consistent class design
...
Update all classes so that inner classes are always last. Also
ensure that utility classes are always final and have a private
constructor and make exceptions final whenever possible.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0ad0f341bd
Don't use single letter catch variables
...
Update existing catch blocks to ensure that `ex` is always used
in preference to `e` or `t` as the variable name.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
866e9d702e
Use consistent block style
...
Update all code to use a consistent block style.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
c3a17dfd47
Ensure all files end with a newline
...
Update all files to ensure that they always end with a new line.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e0480f75ac
Fix javadoc checkstyle issues
...
Fix checkstyle violations for javadoc.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Sam Brannen
4184ebe799
Polish profile expression support
...
Issue: SPR-12458
2018-06-16 21:40:22 +03:00
Stephane Nicoll
1f3b4f1863
Polish "Add profile expression support"
...
Issue: SPR-12458
2018-06-15 16:01:16 +02:00
Juergen Hoeller
0dc434b35e
Polishing
2018-06-13 22:04:10 +02:00
Juergen Hoeller
9aed9bf823
Allow for custom ScheduledTaskRegistrar and/or ScheduledMethodRunnable
...
Issue: SPR-16834
Issue: SPR-16812
2018-06-13 22:03:01 +02:00
Juergen Hoeller
b71795ba36
Restore original DefaultLifecycleProcessor behavior for the time being
...
Issue: SPR-16901
2018-06-10 23:52:27 +02:00
Juergen Hoeller
6cf197864c
DefaultLifecycleProcessor properly handles count for dependent beans
...
Issue: SPR-16901
2018-06-06 21:25:26 +02:00
Stephane Nicoll
f1871f9e3f
Fix faulty BeanPostProcessorChecker logs with @EnableCaching
...
Issue: SPR-16896
2018-06-04 14:51:14 +02:00
Sebastien Deleuze
b71d0eeec9
Fix Kotlin bean DSL conditional handling
...
Issue: SPR-16412
2018-06-01 14:40:27 +02:00
Sebastien Deleuze
a7a29a8226
Revisit PropertyResolver Kotlin extensions
...
Issue: SPR-16883
2018-05-31 12:20:37 +02:00
Juergen Hoeller
1b728fb244
Polishing
2018-05-30 11:10:37 +02:00
Juergen Hoeller
b39ce80c87
Doc: @EnableScheduling needs to be declared per application context
...
Issue: SPR-16852
2018-05-29 21:52:51 +02:00
Juergen Hoeller
46a89d9534
Restore lenient null return value for ConditionContext.getBeanFactory()
...
Includes nullable return value for getClassLoader() with corresponding notes in applicable javadoc.
Issue: SPR-16866
2018-05-29 21:51:06 +02:00
Juergen Hoeller
5bbeadec0c
Detect nested configuration classes even for empty outer classes
...
Issue: SPR-16839
2018-05-29 21:47:53 +02:00
Sebastien Deleuze
be416ef9c4
Polish BeanDefinitionDsl
...
Issue: SPR-16412
2018-05-29 09:34:35 +02:00
Juergen Hoeller
5b3bbad6a0
ConcurrentModel.addAttribute javadoc: null value not supported
...
Issue: SPR-16831
2018-05-18 22:20:08 +02:00
Johnny Lim
fb898e1727
Remove inconsistent spaces
2018-05-05 11:07:35 +02:00
Juergen Hoeller
9281f820f1
Expose FactoryBean's raw object on retrieval during post-processing
...
Issue: SPR-16783
2018-05-02 15:21:40 +02:00
Juergen Hoeller
c8b6233bd0
Introspect originating bean definition as configuration class candidate
...
Issue: SPR-16756
2018-05-02 15:20:42 +02:00
Juergen Hoeller
ad0d79a97b
Lenient fallback to plain getBundle call without Control handle
...
Includes defaultEncoding variant for platform default encoding.
Issue: SPR-16776
2018-05-01 23:50:34 +02:00
Juergen Hoeller
d5aedac6db
Avoid custom ResourceBundle.Control on Jigsaw (as far as possible)
...
Issue: SPR-16776
2018-04-27 18:24:31 +02:00
Juergen Hoeller
eaff2c28a7
Consistent target method resolution for event and caching expressions
...
Issue: SPR-16779
2018-04-27 18:23:42 +02:00
Juergen Hoeller
aa11721ff0
AopUtils.getMostSpecificMethod exposes dynamic proxy class methods
...
Includes efficient canApply check for IntroductionAwareMethodMatcher.
Issue: SPR-16757
2018-04-27 18:23:34 +02:00
Juergen Hoeller
a2a8d0c754
Workaround for generic parameter types on inner class constructors
...
Issue: SPR-16734
2018-04-17 12:58:32 +02:00
Juergen Hoeller
d4a55a257b
OperatorMatches flags misguided evaluation attempts as FLAWED_PATTERN
...
Issue: SPR-16731
2018-04-17 11:10:15 +02:00
Juergen Hoeller
b95e05db04
AspectJExpressionPointcut consistently resolves superinterface methods
...
Includes efficient check for same ClassLoader in ClassUtils.isVisible, efficient MethodMatchers check for IntroductionAwareMethodMatcher, and supertype method resolution in MethodMapTransactionAttributeSource.
Issue: SPR-16723
2018-04-14 15:10:05 +02:00
sdeleuze
97ee94f4ca
Expose env and context in Kotlin beans DSL
...
This commit introduces a deferred initialization of the declared beans
in order to make it possible to access to the environment (and even
to the context for advanced use-cases) in the beans { } Kotlin DSL.
Issues: SPR-16269, SPR-16412
2018-04-12 11:31:37 +02:00
Juergen Hoeller
61c3db0869
MethodHandles.Lookup.defineClass for CGLIB class definition purposes
...
Spring's CGLIB fork is patched with local copies of affected files here, introducing the notion of a "contextClass" (e.g. the proxy superclass) which gets passed through to ReflectUtils.defineClass for delegating to MethodHandles.Lookup.defineClass eventually, against a privateLookupIn(contextClass) lookup context on JDK 9/10/11.
Issue: SPR-15859
2018-04-11 12:47:55 +02:00
Juergen Hoeller
cdaa247861
Unwind _TestTypes to top-level public test classes in AOP test suite
2018-04-11 12:43:49 +02:00
Juergen Hoeller
6102715b8d
Consistent treatment of proxy classes and interfaces for introspection
...
Issue: SPR-16675
Issue: SPR-16677
2018-04-03 02:42:41 +02:00
Juergen Hoeller
cc379f1cc7
Polishing
2018-04-01 12:57:19 +02:00
Juergen Hoeller
bc07a54075
Clear AnnotationUtils cache after context refresh (along with others)
...
Issue: SPR-16675
2018-03-31 23:08:30 +02:00
Juergen Hoeller
912c270f2b
Polishing
2018-03-31 17:49:21 +02:00
Juergen Hoeller
4da27c2a73
Avoid unnecessary introspection on methods and meta-annotations
...
Issue: SPR-16667
2018-03-31 00:18:14 +02:00
Juergen Hoeller
78681c6369
JndiRmiServiceExporter still calls PortableRemoteObject when available
...
Issue: SPR-16670
2018-03-30 15:19:38 +02:00
Juergen Hoeller
d553ddc5b3
Nullability refinements (based on IntelliJ IDEA 2018.1 introspection)
...
Issue: SPR-15756
2018-03-29 23:50:17 +02:00
igor-suhorukov
e6020ed377
avoid unnecessary autoboxing
2018-03-28 23:48:12 +02:00
Stephane Nicoll
d1a0b8d53f
Clarify the format supported by @PropertySource
...
Issue: SPR-16563
2018-03-28 11:03:53 +02:00
igor-suhorukov
4aae6a6dda
Use Map.forEach instead of manual Map.Entry iteration wherever possible SPR-16646
2018-03-28 01:09:03 +02:00
Juergen Hoeller
e3d0ef6015
Use Map.forEach instead of manual Map.Entry iteration wherever possible
...
Issue: SPR-16646
2018-03-27 00:38:32 +02:00
Juergen Hoeller
8d5587fe4f
Consistent thread-safe iteration in DefaultSingletonBeanRegistry
...
Issue: SPR-16620
2018-03-24 16:30:51 +01:00
Christoph Dreis
d3a0a8e007
Use Collection.removeIf() where possible ( #1747 )
...
Use Collection.removeIf() where possible
Issue: SPR-16622
2018-03-22 11:36:11 +01:00
Juergen Hoeller
99399084a6
Consistent Future check (even if typically encountering RunnableFuture)
...
Issue: SPR-16607
2018-03-19 12:42:49 +01:00
Juergen Hoeller
3c1adf7f6a
ThreadPoolTaskExecutor/Scheduler cancels remaining Futures on shutdown
...
Issue: SPR-16607
2018-03-19 01:45:22 +01:00
Juergen Hoeller
4fef1fe820
Polishing
2018-03-16 18:49:12 +01:00
Juergen Hoeller
914b2470dc
Scope annotation in class hierarchies vs XML bean definition inheritance
...
Issue: SPR-16602
2018-03-16 18:49:00 +01:00
Juergen Hoeller
c4e9ce8d0e
Clarified repeatable PropertySource annotation vs use as meta-annotation
...
Issue: SPR-16592
2018-03-14 18:53:50 +01:00
Juergen Hoeller
3988dd9ebb
Polishing
2018-03-14 17:24:58 +01:00
Stephane Nicoll
cc12afdea2
Add support for deferred import selector group
...
This commit allows several DeferredImportSelector instances to be
grouped and managed in a centralized fashion. This typically allows
different instances to provide a consistent ordered set of imports to
apply.
Issue: SPR-16589
2018-03-13 16:52:26 -04:00
Juergen Hoeller
04a8f81710
Polishing
2018-03-12 20:42:03 +01:00
Juergen Hoeller
50e980c02f
Validate declared annotations before deciding between reflection and ASM
...
Issue: SPR-16564
2018-03-12 13:40:26 +01:00
Stephane Nicoll
fb7c4a3066
Polish
2018-03-11 10:26:41 +01:00
igor-suhorukov
6163f2d32f
use more modern java API for empty collections
2018-03-08 21:41:57 +01:00
Juergen Hoeller
139dc1d373
Polishing (collapsed if checks, consistent downcasts, refined javadoc)
2018-03-08 18:11:57 +01:00
igor-suhorukov
0f7485b01d
Polish: reorder the modifiers to comply with the Java Language Specification.
2018-03-08 17:57:47 +01:00
Sam Brannen
0f5a3e2647
Polish formatting in Groovy scripts
2018-03-07 16:09:04 +01:00
Sam Brannen
df0b39e8ac
Add missing packages to Groovy scripts
2018-03-07 16:09:03 +01:00
Juergen Hoeller
f57fcdee3c
Polishing
2018-03-07 15:49:58 +01:00
igor-suhorukov
129530f792
Polish
...
Closes gh-1715
2018-03-03 12:12:15 +01:00
igor-suhorukov
ed936cbd89
Polish: Overriding methods should do more than simply call the same method in the super class
2018-03-02 00:06:27 +01:00
igor-suhorukov
7bce04c06c
Polish: combine catches block with same body
2018-02-27 12:51:28 +01:00
Juergen Hoeller
c2d5ca9811
Proper nullable return declaration for AbstractValueAdaptingCache.lookup
...
Issue: SPR-15540
2018-02-26 13:05:12 +01:00
Juergen Hoeller
7d89de06e3
Enforce GMT timezone for testBindInstantFromJavaUtilDate
...
Issue: SPR-16534
2018-02-26 13:02:17 +01:00
igor-suhorukov
c782075a13
Polish: Array designators "[]" should be on the type, not the variable
2018-02-25 13:14:20 +01:00
Juergen Hoeller
3531c104b0
Prefer Collections.addAll call with array over Set.addAll(Arrays.asList)
2018-02-25 00:21:39 +01:00
Juergen Hoeller
a5cbf5fe24
Consistent use of Collection.toArray with zero-sized array argument
...
Includes consistent use of ClassUtils.toClassArray (as non-null variant)
Issue: SPR-16523
2018-02-22 11:29:46 +01:00
Juergen Hoeller
d7cab23e6d
Consistent use of StringUtils.toStringArray
...
(cherry picked from commit 6d11b40
)
2018-02-16 20:49:17 +01:00
Juergen Hoeller
8d3264f680
Prefer List.sort(Comparator) over Collections.sort(List, Comparator)
2018-02-16 10:23:18 +01:00
Juergen Hoeller
3b810f3544
Consistent Class array vs vararg declarations (and related polishing)
2018-02-14 14:44:00 +01:00
igor-suhorukov
7826567df6
Polish: lamdbas containing only one statement should not nest this statement in a block
2018-02-14 01:22:01 +01:00
Juergen Hoeller
37609e4ede
Object/FieldError exposes source object through unwrap/contains methods
...
Issue: SPR-16372
2018-02-13 17:58:31 +01:00
Juergen Hoeller
d3cee45f30
Polishing
2018-02-13 13:15:29 +01:00
Juergen Hoeller
d5cabca2f7
Internal adaptation to Deque semantics
2018-02-12 15:55:09 +01:00
igor-suhorukov
711b0f50f2
Polish: replace the synchronized class "Stack" by an unsynchronized one such as "Deque".
2018-02-11 21:15:46 +01:00
Juergen Hoeller
d00e1c5e4f
Polishing
2018-02-10 21:35:46 +01:00
Juergen Hoeller
55ee250659
Object/FieldError stores source object as transient (not serialized)
...
Issue: SPR-16372
2018-02-10 17:41:30 +01:00
igor-suhorukov
0ee505b73e
Polish: assertion arguments should be passed in the correct order,
...
use assertNull instead of assertEquals(null, value),
declare delta as double value in assertEquals
2018-02-10 17:17:28 +01:00
igor-suhorukov
d3a1d44864
Polish: Maps with keys that are enum values should be replaced with EnumMap
2018-02-10 12:09:33 +01:00
Juergen Hoeller
9bb7fcd997
Object/FieldError provides access to source object (exception/violation)
...
Issue: SPR-16372
2018-02-09 18:42:56 +01:00
Juergen Hoeller
c8b860c4b8
Streamlined BeanFactory access within DefaultLifecycleProcessor
2018-02-09 13:31:31 +01:00
Stephane Nicoll
991eb4858e
Update copyright header
2018-02-09 10:16:58 +01:00
igor-suhorukov
c0b4b5787f
Change this "try" to a try-with-resources
...
Closes gh-1671
2018-02-09 10:12:55 +01:00
igor-suhorukov
e381514b07
Collection.isEmpty() should be used to test for emptiness
...
Closes gh-1670
2018-02-09 10:11:44 +01:00
Johnny Lim
5c0ddf3c69
Polishing
2018-02-07 10:59:10 +01:00
Juergen Hoeller
5c813a366b
Consistent use of @throws instead of @exception
2018-02-05 22:51:51 +01:00
Juergen Hoeller
7f96827ade
Polishing
2018-02-02 11:34:03 +01:00
Juergen Hoeller
4a1cc9ced7
Constructor-provided field values get recorded for failed binding result
...
Also, TypeMismatchExceptions get registered via BindingErrorProcessor.
Issue: SPR-16449
2018-02-02 11:33:56 +01:00
Juergen Hoeller
9c069f6cb1
Avoid String concatenation for not-null assertion in BeanProperty/DirectFieldBindingResult
...
Issue: SPR-16455
2018-02-02 11:33:39 +01:00
Juergen Hoeller
637e09f995
Polishing
2018-01-30 16:00:30 +01:00
Juergen Hoeller
ef2e16912d
Formatting support for java.time.Year and java.time.Month
...
Issue: SPR-16437
2018-01-30 15:54:47 +01:00
Juergen Hoeller
89d2bd954a
Properly analyze Java 9 class cast messages for lambda event listeners
...
Issue: SPR-16435
2018-01-30 15:53:58 +01:00
Juergen Hoeller
0e734d83d5
@EnableAspectJAutoProxy: per application context, requires aspectjweaver
...
Issue: SPR-14753
Issue: SPR-15801
2018-01-26 10:38:43 +01:00
Juergen Hoeller
37ab8a700b
Doc: no "useCodeAsDefaultMessage" for setValidationMessageSource
...
Issue: SPR-15986
2018-01-26 10:35:37 +01:00
Juergen Hoeller
13c735442c
@Scheduled supports java.time.Duration format for its delay attributes
...
Issue: SPR-15455
2018-01-25 19:11:18 +01:00
Juergen Hoeller
9d0e62ef68
Javadoc format and related polishing
2018-01-22 11:43:21 +01:00
Juergen Hoeller
572c668726
Polishing
2018-01-19 21:30:37 +01:00
Johnny Lim
d31767eab8
Fix an exception message in ScheduledAnnotationBeanPostProcessor
...
Closes gh-1636
2018-01-15 15:19:02 +01:00
Juergen Hoeller
b160f93495
CacheProxyFactoryBean exposes all relevant CacheInterceptor callbacks
...
Issue: SPR-16295
2018-01-14 23:48:21 +01:00
Juergen Hoeller
06e6386dc9
CollectionUtils.lastElement for common Set/List extraction
...
Issue: SPR-16374
2018-01-12 18:23:52 +01:00
Juergen Hoeller
13a8f90e08
ScheduledAnnotationBeanPostProcessor properly deals with nested proxies
...
Issue: SPR-16196
2018-01-12 16:48:17 +01:00
Juergen Hoeller
c8bdb3c602
Polishing
2018-01-09 22:20:22 +01:00
Masahiro Ide
d9af4d6599
ResourceBundleMessageSource uses ConcurrentHashMaps instead of synchronization
...
Issue: https://jira.spring.io/browse/SPR-16235
2018-01-09 22:12:03 +01:00
Juergen Hoeller
4adc820714
Warning instead of error for non-present type filter class
...
Issue: SPR-16356
2018-01-08 13:41:23 +01:00
Juergen Hoeller
d187cbce73
LoadTimeWeaver detection differentiates between WebSphere and Liberty
...
Issue SPR-16248
2018-01-07 23:29:16 +01:00
Juergen Hoeller
977550f956
Properly handle null bean instance in getLifecycleBeans
...
Issue: SPR-16343
2018-01-07 23:23:08 +01:00
Juergen Hoeller
18d90ec140
Properly handle null FactoryBean instance
...
Issue: SPR-16250
2018-01-07 23:22:56 +01:00
Philipp Grogg
591429e538
Fix exception message
...
initialDelayString is parsed into long, not integer.
Closes gh-1615
2017-12-09 15:46:28 -08:00
Sam Brannen
773cd3241b
Polishing
2017-11-28 14:11:21 +01:00
sdeleuze
9f1d8517ba
Polish Kotlin source code style
2017-11-21 15:59:23 +01:00
Juergen Hoeller
5843173567
Polishing
2017-11-21 13:42:57 +01:00
Juergen Hoeller
08c95fbcb3
Unit tests for configuration superclass inclusion
...
Issue: SPR-16217
2017-11-21 13:42:01 +01:00
Juergen Hoeller
40dacd3c1c
Polishing
2017-11-20 22:27:07 +01:00
Juergen Hoeller
84699c8b9b
Document common use cases for @Order vs @Priority vs @DependsOn
...
Issue: SPR-16213
2017-11-20 12:53:37 +01:00
Juergen Hoeller
85baba33bf
Accessors for PeriodicTrigger properties
...
Issue: SPR-15982
2017-11-14 17:09:19 +01:00
sdeleuze
edf8232555
Avoid implicit autowiring with Kotlin secondary ctors
...
Autowiring implicitely Kotlin primary constructors
when there are secondary constructors has side effects
on ConstructorResolver. It seems reasonable to
require explicit @Autowired annotation in such case.
With this commit, implicit autowiring of Kotlin
primary constructors is only performed when there
is a primary constructor defined alone or with
a default constructor (define explicitly or
generated via the kotlin-noarg compiler plugin
or via optional constructor parameters with default
values).
Issue: SPR-16022
2017-11-14 09:25:46 +01:00
Juergen Hoeller
e2bb06edbd
Unit tests for unresolvable generics with partial mismatch
...
Issue: SPR-16179
2017-11-13 21:51:02 +01:00
Juergen Hoeller
3091feee23
SpringValidatorAdapter skips value retrieval for Set field without index
...
Issue: SPR-16177
2017-11-13 21:50:55 +01:00
Juergen Hoeller
ffd6eff369
Scheduled task introspection through ScheduledTaskHolder interface
...
Issue: SPR-15982
2017-11-06 18:36:39 +01:00
Juergen Hoeller
9511d29adb
Updated bean count expectations in ClassPathBeanDefinitionScannerTests
...
Issue: SPR-16152
2017-11-06 18:36:29 +01:00
Stephane Nicoll
1838ddb95d
Support Ant-style package name with component index
...
This commit improves the component index so that it supports ant-style
package name (i.e. com.example.**.foo).
Issue: SPR-16152
2017-11-06 15:19:30 +01:00
Juergen Hoeller
1611ce7180
AbstractApplicationContext silently ignores non-initialized ApplicationEventMulticaster/LifecycleProcessor on destruction
...
Issue: SPR-16149
2017-11-02 16:07:12 +01:00
Juergen Hoeller
e5c8dc0d65
MessageSource.getMessage returns null default message as-is (again)
...
Issue: SPR-16127
2017-10-31 11:06:42 +01:00
Haruki Okada
159da04eed
Fix wrong javadoc example
...
Closes gh-1575
2017-10-23 09:20:19 +02:00
Juergen Hoeller
c7100f771c
Explicit notes on advice mode proxy vs aspectj
...
Issue: SPR-16092
2017-10-22 20:34:34 +02:00
Juergen Hoeller
d1fac36e3e
SchedulingConfigurer and JmsListenerConfigurer respect @Order
...
Issue: SPR-16090
2017-10-20 16:10:12 +02:00
Juergen Hoeller
c3378fda33
AbstractMessageSource properly interacts with non-AbstractMessageSource parent
...
Issue: SPR-16047
2017-10-18 20:21:12 +02:00
Juergen Hoeller
d1b5b5d2f7
Clarify destroy method suppression for DisposableBean vs (Auto)Closeable
...
Issue: SPR-16078
(cherry picked from commit dff2c84
)
2017-10-16 23:53:02 +02:00
Juergen Hoeller
43b5e21947
Consistent alias declarations for value attribute on stereotypes
...
Issue: SPR-16066
2017-10-13 18:18:12 +02:00
Juergen Hoeller
625737f90a
Controller/Repository/Service declare value attribute as alias for Component
...
Issue: SPR-16066
2017-10-13 14:24:12 +02:00
Juergen Hoeller
ad4c8e7c0d
Consistently sort BeanDefinitionRegistryPostProcessors
...
Issue: SPR-16043
2017-10-09 13:59:09 +02:00
Juergen Hoeller
ec345bf162
Revised handling of missing data class arguments
...
Includes unified detection of Kotlin's optional parameters in MethodParameter.isOptional(), reduces BeanUtils.findPrimaryConstructor to Kotlin semantics (for reuse in AutowiredAnnotationBeanPostProcessor), and finally introduces a common KotlinDetector delegate with an isKotlinType(Class) check.
Issue: SPR-15877
Issue: SPR-16020
2017-09-28 00:31:12 +02:00
Juergen Hoeller
efce7902c4
Polishing
2017-09-27 01:34:11 +02:00
Sebastien Deleuze
23497a7ece
Support autowiring by constructor in Kotlin bean DSL
...
Issue: SPR-16014
2017-09-27 01:25:22 +02:00
Sebastien Deleuze
14cba15296
Open router and bean Kotlin DSL to allow building custom ones
2017-09-26 16:31:16 +02:00
Juergen Hoeller
7ae59d0c2a
Nullability refinements on private and static methods
...
Based on IntelliJ IDEA 2017.3 introspection results.
Issue: SPR-15756
2017-09-22 18:22:14 +02:00
Xavier Downs
dba1ef0b26
Fix Javadoc typo
...
Closes gh-1531
2017-09-20 09:30:37 +02:00
Sebastien Deleuze
1bc93e3d0f
Revisit nullability annotations
...
This commit introduces the following changes.
1) It adds a new Spring @NonNull annotation which allows to apply
@NonNullApi semantic on a specific element, like @Nullable does.
Combined with @Nullable, it allows partial null-safety support when
package granularity is too broad.
2) @Nullable and @NonNull can apply to ElementType.TYPE_USE in order
to be used on generic type arguments (SPR-15942).
3) Annotations does not apply to ElementType.TYPE_PARAMETER anymore
since it is not supported yet (applicability for such use case is
controversial and need to be discussed).
4) @NonNullApi does not apply to ElementType.FIELD anymore since in a
lot of use cases (private, protected) it is not part for the public API
+ its usage should remain opt-in. A dedicated @NonNullFields annotation
has been added in order to set fields default to non-nullable.
5) Updated Javadoc and reference documentation.
Issue: SPR-15756
2017-09-15 13:26:41 +02:00
Juergen Hoeller
4371350b5d
Polishing
2017-09-10 21:56:31 +02:00
Juergen Hoeller
30d67f7c42
Tests for @Lazy Validator setup
...
Issue: SPR-15807
2017-09-10 21:56:23 +02:00
Sebastien Deleuze
8b8a6766de
Change BeanDefinitionDsl to implement ApplicationContextInitializer
2017-09-04 10:46:20 +02:00
Juergen Hoeller
26284cac4f
Hibernate Validator 5 compatible support for element constraints
...
Issue: SPR-15916
Issue: SPR-15839
2017-09-01 16:40:24 +02:00
Juergen Hoeller
97ded1dcc7
Polishing
2017-09-01 14:05:35 +02:00
Juergen Hoeller
30bd5827b0
ConfigurationClassEnhancer leniently allows for null bean references
...
Issue: SPR-15829
2017-09-01 14:05:14 +02:00
Sebastien Deleuze
d2c1b284f3
Polish Kotlin API contracts and documentation
...
Issue: SPR-15659
2017-08-29 00:56:39 +02:00
Stephane Nicoll
f6e7fef236
Polish
2017-08-19 10:50:41 +02:00
Juergen Hoeller
b94302b5bd
Enforce non-null value from getBean and at injection points
...
Bean-derived null values may still get passed into bean properties and injection points but only if those are declared as non-required. Note that getBean will never return null; a manual bean.equals(null) / "null".equals(bean.toString()) check identifies expected null values now. This will only ever happen with custom FactoryBeans or factory methods returning null - and since all common cases are handled by autowiring or bean property values in bean definitions, there should be no need to ever manually check for such a null value received from getBean.
Issue: SPR-15829
2017-08-18 00:11:35 +02:00
Sebastien Deleuze
73cf07e9a4
Fix overridden methods nullability
...
Issue: SPR-15869
2017-08-17 15:02:59 +02:00
Juergen Hoeller
ec1eafc46f
@Lazy falls back to empty map/list/set for non-required collection dependency
...
Issue: SPR-15858
2017-08-17 12:28:55 +02:00
Juergen Hoeller
adeb521ce4
Polishing
2017-08-08 17:27:28 +02:00
Juergen Hoeller
de09f8ca1f
Support for Bean Validation 2.0 container elements (with BV 2.0 test setup)
...
Includes latest dependency updates (Hibernate Validator 6.0.1, Caffeine 2.5.4, Netty 4.1.14, Tomcat 8.5.19, Johnzon 1.1.2, JsonPath 2.4, Jython 2.7.1)
Issue: SPR-15839
Issue: SPR-15808
2017-08-08 17:26:30 +02:00
Juergen Hoeller
ca0983cd85
Polishing
2017-08-01 12:08:57 +02:00
Juergen Hoeller
dd2bbcb3ec
Leniently handle lambda-defined listeners with ErrorHandler as well
...
Issue: SPR-15838
2017-08-01 12:06:41 +02:00
Juergen Hoeller
1fbd047003
checkConfigurationClassCandidate explicitly skips factory method definitions
...
Issue: SPR-14603
2017-08-01 12:05:26 +02:00
Sebastien Deleuze
29c112c010
Avoid requiring `it` parameter in Kotlin bean DSL
...
By using function literals with receiver, we can avoid requiring
lambda parameters for a shorter and nicer syntax. Based on a
proposal from Joseph Taylor.
Issue: SPR-15815
2017-07-25 11:21:08 +02:00
Juergen Hoeller
ac1d3b22c9
Polishing
2017-07-19 22:22:27 +02:00
Juergen Hoeller
46eba3dbfa
Nullability fine-tuning around declaration inconsistencies
...
Issue: SPR-15720
Issue: SPR-15792
2017-07-19 22:22:20 +02:00
Juergen Hoeller
9fc4fb10b0
Nullability fine-tuning around bean properties
...
Issue: SPR-15720
Issue: SPR-15792
2017-07-19 11:43:58 +02:00
Sebastien Deleuze
fb4ddb0746
Make getters and setters null-safety consistent
...
This commit ensure that null-safety is consistent between
getters and setters in order to be able to provide beans
with properties with a common type when type safety is
taken in account like with Kotlin.
It also add a few missing property level @Nullable
annotations.
Issue: SPR-15792
2017-07-19 09:07:56 +02:00
Sebastien Deleuze
ff85726fa9
Fix warnings in Kotlin tests
2017-07-19 08:12:48 +02:00
Sebastien Deleuze
e2fd04dff3
Add a [] Kotlin extension for PropertyResolver#getRequiredProperty
2017-07-19 08:12:32 +02:00
Sebastien Deleuze
f72e0daa54
Add an env accessor to BeanDefinitionContext
...
Issue: SPR-15755
2017-07-19 07:57:19 +02:00
Juergen Hoeller
c292a89b24
Http(Async)Client not actually nullable, plus MethodInterceptor nullability
...
Issue: SPR-15720
2017-07-19 00:15:37 +02:00
Juergen Hoeller
bca5a36216
Explicit error message for bean name clash with containing configuration class
...
Issue: SPR-15775
2017-07-18 00:54:49 +02:00
Sebastien Deleuze
1f011467b8
Introduce Kotlin functional bean definition DSL
...
As a follow-up of the ApplicationContext Kotlin extensions, close to
the Kotlin functional WebFlux DSL and partially inspired of the
Groovy/Scala bean configuration DSL, this commit introduces a
lightweight Kotlin DSL for functional bean declaration.
It allows declaring beans as following:
beans {
bean<Foo>()
profile("bar") {
bean<Bar>("bar", scope = Scope.PROTOTYPE)
}
environment({ it.activeProfiles.contains("baz") }) {
bean { Baz(it.ref()) }
bean { Baz(it.ref("bar")) }
}
}
Advantages compared to Regular ApplicationContext API are:
- No exposure of low-level ApplicationContext API
- Focused DSL easier to read, but also easier to write with a fewer
entries in the auto-complete
- Declarative syntax instead of functions with verbs like registerBeans
while still allowing programmatic registration of beans if needed
- Such DSL is idiomatic in Kotlin
- No need to have an ApplicationContext instance to write how you
register your beans since beans { } DSL is conceptually a
Consumer<GenericApplicationContext>
This DSL effectively replaces ApplicationContext Kotlin extensions as
the recommended way to register beans in a functional way with Kotlin.
Issue: SPR-15755
2017-07-12 16:38:41 +02:00
Juergen Hoeller
e7b77cb2b6
Drop legacy DisposableBean declaration on AbstractApplicationContext
...
Issue: SPR-15154
2017-07-07 20:50:35 +02:00
Juergen Hoeller
59c26f65ba
AbstractValueAdaptingCache subclasses may reuse NullValue.INSTANCE
...
Issue: SPR-15693
2017-07-05 17:55:11 +02:00
Juergen Hoeller
eb928ce456
Reliably detect event listener conditions on proxied beans
...
Issue: SPR-15678
2017-07-05 13:41:56 +02:00
Juergen Hoeller
5f4d1a4628
CronSequenceGenerator.isValidExpression actually validates cron fields
...
Issue: SPR-15604
2017-06-30 01:54:32 +02:00
Juergen Hoeller
cc74a2891a
@Nullable all the way: null-safety at field level
...
This commits extends nullability declarations to the field level, formalizing the interaction between methods and their underlying fields and therefore avoiding any nullability mismatch.
Issue: SPR-15720
2017-06-30 01:54:16 +02:00
Sebastien Deleuze
d728d597f2
Add missing license headers in Kotlin files
2017-06-27 14:39:26 +02:00
Juergen Hoeller
87430f3cd3
ListenableFuture provides CompletableFuture adaptation via completable()
...
Issue: SPR-15696
2017-06-27 00:43:37 +02:00
Juergen Hoeller
03133630cb
Missing @Nullable annotations in WebFlux, in particular around locale resolution
...
Issue: SPR-15036
Issue: SPR-15540
2017-06-20 18:08:42 +02:00
Juergen Hoeller
535103cd52
Fine-tune HTTP/RMI Invoker exception handling
...
Issue: SPR-15684
2017-06-20 16:50:35 +02:00
Sebastien Deleuze
04d5a2951c
Remove KClass based Kotlin extensions
...
Issue: SPR-15660
2017-06-13 18:43:59 +02:00
Sebastien Deleuze
e0e6736bc5
Introduce LocaleContextResolver in WebFlux
...
This commit introduces LocaleContextResolver interface, which is used
at ServerWebExchange level to resolve Locale, TimeZone and other i18n
related informations.
It follows Spring MVC locale resolution patterns with a few differences:
- Only LocaleContextResolver is supported since LocaleResolver is less
flexible
- Support is implemented in the org.springframework.web.server.i18n
package of spring-web module rather than in spring-webflux in order
to be able to leverage it at ServerWebExchange level
2 implementations are provided:
- FixedLocaleContextResolver
- AcceptHeaderLocaleContextResolver
It can be configured with both functional or annotation-based APIs.
Issue: SPR-15036
2017-06-13 15:10:18 +02:00
Juergen Hoeller
779deb0fa7
Cleanup of duplicate semicolons
...
Issue: SPR-15654
2017-06-13 11:38:05 +02:00
Stephane Nicoll
58242f2249
Polish
2017-06-13 10:13:14 +02:00
Stephane Nicoll
fc64b8040f
Polish "Replace relevant code with lambda"
...
Closes gh-1454
2017-06-13 09:42:20 +02:00
diguage
4b1478d830
Replace relevant code with lambda
...
See gh-1454
2017-06-13 08:55:38 +02:00
diguage
2efa06237a
Use Map#forEach instead of Map#entrySet#forEach
...
See gh-1449
2017-06-12 14:37:33 +02:00
diguage
c1d44d9a34
Use the diamond syntax
...
Closes gh-1450
2017-06-12 09:19:06 +02:00
Stephane Nicoll
27aabb15f9
Polish "Refact iterator of Map with Java 8 forEach"
...
Closes gh-1451
2017-06-12 08:53:56 +02:00
diguage
dab7a7f0ee
Refact iterator of Map with Java 8 forEach
...
See gh-1451
2017-06-12 08:11:32 +02:00
Sebastien Deleuze
86580b2358
Polishing
2017-06-09 01:49:56 +03:00
Sebastien Deleuze
8579ae66fc
Add comprehensive tests of Kotlin extensions
...
This commit also removes extensions hidden by Java API (varargs).
2017-06-09 01:01:16 +03:00
Juergen Hoeller
fd53d2a51a
Consistent use of @Nullable in spring-test
...
This commit also removes nullability from two common spots: ResolvableType.getType() and TargetSource.getTarget(), both of which are never effectively null with any regular implementation. For such scenarios, a non-null empty type/target is the cleaner contract.
Issue: SPR-15540
2017-06-08 22:52:59 +02:00
Juergen Hoeller
55b0fe1027
Unwrap SpringValidatorAdapter (e.g. CustomValidatorBean) to native Validator
...
Issue: SPR-15629
(cherry picked from commit 8330134
)
2017-06-07 18:33:13 +02:00
Juergen Hoeller
f813712f5b
Consistent use of @Nullable across the codebase (even for internals)
...
Beyond just formally declaring the current behavior, this revision actually enforces non-null behavior in selected signatures now, not tolerating null values anymore when not explicitly documented. It also changes some utility methods with historic null-in/null-out tolerance towards enforced non-null return values, making them a proper citizen in non-null assignments.
Some issues are left as to-do: in particular a thorough revision of spring-test, and a few tests with unclear failures (ignored as "TODO: NULLABLE") to be sorted out in a follow-up commit.
Issue: SPR-15540
2017-06-07 14:19:15 +02:00
Sebastien Deleuze
b494c53b40
Avoid defining nullability for non-relevant API
...
Defining nullability of some API like EnvironmentCapable
or ConditionContext causes issues in Spring Boot because
in the context where they are used, it is known for sure
they will return non-null values even if their API can in
other context return null values.
It is better in this case for both Java and Kotlin to
not define at all the nullabity of such API.
In practice, this is achieved by removing the package level
@NonNullApi annotation and adding it only on the
relevant classes.
Issue: SPR-15540
2017-05-31 22:51:33 +02:00
Sebastien Deleuze
1f28825f9d
Add more @Nullable parameters based on null usage
...
Issue: SPR-15540
2017-05-31 21:42:23 +02:00
Sebastien Deleuze
c3e6afb879
Improve null-safety to fix some Spring Boot warnings
...
Issue: SPR-15540
2017-05-31 17:14:49 +02:00
Sebastien Deleuze
b47d713e14
Add missing @Nullable annotations on parameters
...
Issue: SPR-15540
2017-05-31 16:56:08 +02:00
Sebastien Deleuze
87598f48e4
Introduce null-safety of Spring Framework API
...
This commit introduces 2 new @Nullable and @NonNullApi
annotations that leverage JSR 305 (dormant but available via
Findbugs jsr305 dependency and already used by libraries
like OkHttp) meta-annotations to specify explicitly
null-safety of Spring Framework parameters and return values.
In order to avoid adding too much annotations, the
default is set at package level with @NonNullApi and
@Nullable annotations are added when needed at parameter or
return value level. These annotations are intended to be used
on Spring Framework itself but also by other Spring projects.
@Nullable annotations have been introduced based on Javadoc
and search of patterns like "return null;". It is expected that
nullability of Spring Framework API will be polished with
complementary commits.
In practice, this will make the whole Spring Framework API
null-safe for Kotlin projects (when KT-10942 will be fixed)
since Kotlin will be able to leverage these annotations to
know if a parameter or a return value is nullable or not. But
this is also useful for Java developers as well since IntelliJ
IDEA, for example, also understands these annotations to
generate warnings when unsafe nullable usages are detected.
Issue: SPR-15540
2017-05-27 08:57:01 +02:00
Juergen Hoeller
3cc94ae8b5
Consistently accept "taskExecutor" bean of type Executor (as stated in @EnableAsync's javadoc)
...
Issue: SPR-15566
2017-05-25 23:37:02 +02:00
Andy Clement
109746a03b
Adjust source in test class to work around eclipse compiler bug
...
Issue: SPR-15586
2017-05-24 13:24:24 -07:00
Juergen Hoeller
cb3d1befcd
LocalValidatorFactoryBean properly supports unwrap at ValidatorFactory level
...
Also documents limitation for Bean Validation 2.0's getClockProvider() method.
Issue: SPR-15561
Issue: SPR-13482
2017-05-18 21:00:56 +02:00
Juergen Hoeller
ba501791c9
Consistent use of WebFlux terminology over Web Reactive
2017-05-05 14:21:01 +02:00
Juergen Hoeller
1f5eaf20b0
Basic test for functional bean registration within a configuration class
...
Issue: SPR-13779
2017-05-04 11:26:21 +02:00
Juergen Hoeller
1ea54eb2c6
GenericFilterBean lazily initializes its default environment
...
Alignment with HttpServletBean; consistent use of EnvironmentCapable.
Issue: SPR-15469
2017-04-27 21:38:30 +02:00
Juergen Hoeller
8b50f887db
Caching annotations on interface methods with CGLIB proxies
...
Issue: SPR-15271
2017-04-26 18:16:47 +02:00
Juergen Hoeller
6c43d14a77
Async annotations on interface methods with CGLIB proxies
...
Issue: SPR-14949
2017-04-26 18:16:40 +02:00
Juergen Hoeller
91df0653fe
Polishing
2017-04-17 15:05:34 +02:00
Juergen Hoeller
5d3249f692
Recommendation for consistent @Profile declarations on overloaded @Bean methods
...
Issue: SPR-15266
2017-04-17 14:52:06 +02:00
Juergen Hoeller
022aefdfe8
Explicit note about @Profile declarations on overloaded @Bean methods
...
Also marks @Conditional as @Documented, aligned with other annotations.
Issue: SPR-15266
2017-04-15 14:17:45 +02:00
Juergen Hoeller
9abf249cee
Explicitly replace target ApplicationListener with singleton proxy, if any (avoiding double registration/invocation)
...
Issue: SPR-15452
2017-04-15 14:10:28 +02:00
Juergen Hoeller
0b118322b0
Polishing
2017-04-13 16:17:05 +02:00
Juergen Hoeller
1735ba22cb
ShadowingClassLoader can be constructed without default excludes
...
Issue: SPR-15439
2017-04-12 15:34:50 +02:00
Juergen Hoeller
c4e0d6c2a2
UnknownHostException as resource-not-found for properties files
...
Plus first-class declaration of FileNotFoundException in Resource javadoc.
Issue: SPR-15433
2017-04-11 11:45:30 +02:00
Juergen Hoeller
15b5dd9f12
Polishing
2017-04-10 15:36:45 +02:00
Juergen Hoeller
a95843a068
Dependency tracking for Supplier-created beans
...
Issue: SPR-15417
2017-04-07 18:01:28 +02:00
Juergen Hoeller
67ea4b3a05
package-info for repackaged libraries (and other polishing)
2017-04-06 14:10:46 +02:00
Juergen Hoeller
917207b7ae
Support for @Order on nested configuration classes
...
Issue: SPR-15384
2017-04-04 17:17:03 +02:00
Sam Brannen
51f23cb424
Polish JavaDoc for date-time and number format annotations
2017-04-03 16:48:05 +02:00
Sam Brannen
279c56a385
Fix typo in JavaDoc
2017-04-03 16:43:55 +02:00
Sebastien Deleuze
e2fd398bad
Specify explicitly Kotlin extensions return type
...
The main purpose is to specify nullability.
2017-03-30 14:25:13 +02:00
Sam Brannen
7a01771a45
Polishing
2017-03-28 19:27:03 +02:00
Sam Brannen
0b11785852
Improve tests for PropertySourcesPlaceholderConfigurer
2017-03-28 19:26:45 +02:00
QBNemo
26101892c1
Fix typo
...
Closes gh-1354
2017-03-27 10:11:50 +02:00
Grant Hutchins
e087db1ecb
Fix typo
...
Closes gh-1364
2017-03-27 10:04:15 +02:00
Juergen Hoeller
e892e02f41
Polishing
2017-03-21 17:44:47 +01:00
Juergen Hoeller
fc2e635c05
Lookup methods work on configuration classes as well
...
Issue: SPR-15316
2017-03-07 13:51:43 +01:00
Juergen Hoeller
6d6cf01a42
Polishing
2017-02-28 13:13:23 +01:00
Juergen Hoeller
d003f6614b
Tests for annotation lookups in interfaces (currently ignored for CGLIB proxies)
...
Issue: SPR-15271
Issue: SPR-14949
Issue: SPR-14322
2017-02-28 13:11:15 +01:00
Juergen Hoeller
d4a1b59b4c
Skip transaction/caching metadata retrieval for java.lang.Object methods
...
Also retrieves CacheConfig as merged annotation now, aligned with other caching annotations.
Issue: SPR-15296
2017-02-28 13:08:55 +01:00
Juergen Hoeller
cbd19153c4
Polishing
2017-02-22 16:53:54 +01:00
Juergen Hoeller
f4de1ea147
Polishing
2017-02-22 15:32:19 +01:00
Juergen Hoeller
7fb0ad37da
ConfigurationClassEnhancer explicitly handles non-interceptable FactoryBeans
...
Issue: SPR-15275
2017-02-22 15:32:04 +01:00
Juergen Hoeller
370e3d683a
Polishing
2017-02-20 23:00:12 +01:00
Stephane Nicoll
73909f41cb
Polish
2017-02-20 16:29:05 +01:00
Stephane Nicoll
1c74a1a0fe
Improve allowNullValue handling when a null value is provided
...
This commit improves `AbstractValueAdaptingCache` to throw a dedicated
exception if `allowNullValues` is `false` and a `null` value is provided
anyway. This avoid a lower-level exception from the cache library that
will miss some context.
Issue: SPR-15173
2017-02-20 16:08:08 +01:00
Juergen Hoeller
1ee0626c94
Polishing
2017-02-17 21:06:58 +01:00
Juergen Hoeller
8d707eb530
Polishing
2017-02-16 15:37:31 +01:00
Juergen Hoeller
599c1ba73e
Polishing
2017-02-15 18:05:38 +01:00
Juergen Hoeller
54f01cffaf
Drop weaving support for pre-Servlet-3.1 servers
...
Issue: SPR-14467
2017-02-15 18:03:49 +01:00
Juergen Hoeller
44ec6e0037
Polishing
2017-02-13 15:07:07 +01:00
Juergen Hoeller
e1bb697cf9
Correct explanation of example patterns
...
Issue: SPR-15240
2017-02-10 10:56:17 +01:00
Juergen Hoeller
448ea4cdfe
Consistent logging in ignoreResourceNotFound scenarios
...
Issue: SPR-15218
2017-02-10 10:41:10 +01:00
Juergen Hoeller
5015613934
Enforce delegation through single overridable registerBean method
...
Issue: SPR-14832
2017-02-10 10:38:01 +01:00
Juergen Hoeller
1b2dc3638f
Revisit Assert to avoid single-arg assert methods (with refined messages)
...
Issue: SPR-15196
2017-01-30 22:15:55 +01:00
Stephane Nicoll
d550eb152c
Polish contribution
...
Closes gh-1307
2017-01-27 14:17:13 +01:00
Ruben Dijkstra
f1c7e0f5b2
Check for null on the argument instead of the message
...
See gh-1307
Issue: SPR-15196
2017-01-27 14:15:24 +01:00
Juergen Hoeller
5e946c2700
Consistent type variable resolution for arrays/collections (in particular at field level)
...
Dropping GenericCollectionTypeResolver in favor of direct ResolvableType usage.
Issue: SPR-15160
2017-01-24 18:00:17 +01:00
Juergen Hoeller
7d3fcaa934
Consider abstract classes with @Lookup methods as candidate components
...
Issue: SPR-14550
2017-01-23 17:28:18 +01:00
Juergen Hoeller
6fe7e56598
Document further configuration class restrictions
...
Issue: SPR-14602
2017-01-23 13:39:11 +01:00
Juergen Hoeller
253060c21c
Only expose ASM-driven method order if the methods match
...
Issue: SPR-14505
2017-01-23 13:37:22 +01:00
Juergen Hoeller
a9ae2c3402
Polishing
2017-01-23 12:42:01 +01:00
Juergen Hoeller
e566e25b6f
Clear nonAnnotatedClasses cache in afterSingletonsInstantiated
...
Issue: SPR-15175
2017-01-23 12:29:38 +01:00
Alexey Nikolaenko
644b0b8beb
Fix Javadoc for CronSequenceGenerator
...
Closes gh-1294
2017-01-20 17:26:49 +01:00
Juergen Hoeller
976d32fc59
SimpleApplicationEventMulticaster defensively swallows ClassCastException without message
...
Issue: SPR-15145
2017-01-17 20:37:20 +01:00
Juergen Hoeller
052014783a
Remove outdated BeanFactoryLocator documentation references
...
Issue: SPR-15154
2017-01-17 16:03:17 +01:00
Juergen Hoeller
ac6aa53031
Drop outdated BeanFactoryLocator / beanRefContext.xml mechanism
...
Issue: SPR-15154
2017-01-17 13:58:37 +01:00
Juergen Hoeller
d96738d613
Revised indexer implementation
...
Issue: SPR-11890
2017-01-17 12:59:42 +01:00
Juergen Hoeller
5471d6a465
Revised indexer implementation
...
Issue: SPR-11890
2017-01-17 12:46:55 +01:00
Juergen Hoeller
153fd82946
SimpleApplicationEventMulticaster defensively handles ClassCastException without message
...
Issue: SPR-15145
2017-01-16 15:35:18 +01:00
Juergen Hoeller
e19dff179e
Polishing
2017-01-12 21:18:01 +01:00
Juergen Hoeller
d0e93284f3
SpringValidatorAdapter properly handles HV-5-style list constraint violations
...
Issue: SPR-15082
2017-01-12 21:16:56 +01:00
Juergen Hoeller
b06423a5f8
AbstractMessageSource does not attempt to format code-as-default-message
...
Issue: SPR-15123
2017-01-12 21:16:48 +01:00
Sebastien Deleuze
0a988fd2b1
Remove object wrappers in Kotlin extensions
...
This commit also improve significantly Kotlin extensions
documentation.
Issue: SPR-15127
2017-01-11 08:52:01 +01:00
Sebastien Deleuze
8f14e29067
Support AnnotationConfigApplicationContext{} in Kotlin
...
Issue: SPR-15126
2017-01-10 22:47:33 +01:00
Sebastien Deleuze
f8461d856a
Support Gradle-style Kotlin bean API
...
val context = GenericApplicationContext {
registerBean<Foo>()
registerBean { Bar(it.getBean<Foo>()) }
}
Issue: SPR-15126
2017-01-10 21:43:27 +01:00
Mario Arias
1af905ca0a
Add Model and ModelMap Kotlin extensions
...
Issue: SPR-15119
2017-01-10 14:22:54 +01:00
Sebastien Deleuze
6ee5e2a817
Polishing
...
Issue: SPR-15118
2017-01-10 10:54:24 +01:00
Sebastien Deleuze
c5cfd8c8fc
Make the Kotlin bean registration API even more idiomatic
...
Put the lambda parameter at the end and use a function
instead of a supplier to be able to register beans like this:
val context = GenericApplicationContext()
context.registerBean(Foo::class)
context.registerBean{ Bar(it.getBean(Foo::class)) }
Issue: SPR-15118
2017-01-10 10:38:24 +01:00
Sebastien Deleuze
715274e327
Avoid the need to specify Supplier in Kotlin bean registration API
...
Based on an idea from Mario Arias, we can avoid requiring specifying
explicitly Supplier lambda type in Kotlin API by declaring the supplier
parameter as "crossinline supplier: () -> T" instead of
"supplier: Supplier<T>".
Issue: SPR-15118
2017-01-09 20:22:30 +01:00
Juergen Hoeller
fc629bb508
Polishing
2016-12-29 22:39:36 +01:00
Juergen Hoeller
a5c6658d2c
Track bean dependencies for calls between @Bean methods within @Configuration classes
...
Issue: SPR-15069
2016-12-29 22:38:00 +01:00
Juergen Hoeller
edc62be231
@Scheduled reliably applies after other post-processors and shuts down before TaskScheduler
...
Issue: SPR-14692
Issue: SPR-15067
2016-12-29 22:35:10 +01:00
Juergen Hoeller
209e7a700d
Avoid FactoryBean initialization on isSingleton check for decorated bean definition
...
Issue: SPR-14892
Issue: SPR-15042
2016-12-28 17:27:06 +01:00
Juergen Hoeller
9c62b1eaf7
Polishing
2016-12-28 17:22:18 +01:00
Sebastien Deleuze
58e113a591
Avoid NPE in AutoProxyRegistrar when no attribute found
...
Issue: SPR-15055
2016-12-27 16:37:01 +01:00
Juergen Hoeller
7818c650ba
Cache ASM metadata at the context level (if supported)
...
Includes streamlined ClassPathBeanDefinitionScanner setup.
Issue: SPR-14654
2016-12-27 13:38:24 +01:00
Sebastien Deleuze
6a850ee688
Polishing
2016-12-27 10:08:12 +01:00
Juergen Hoeller
bb94ba6e3f
DateFormatter's ISO patterns use XXX timezone notation (as per SimpleDateFormat's javadoc)
...
Issue: SPR-14675
2016-12-26 22:31:27 +01:00
Sebastien Deleuze
ff675f5226
Add Kotlin extensions for bean registration and retrieval
...
Issue: SPR-15048
2016-12-26 14:21:10 +01:00
Juergen Hoeller
a8741dd371
Polishing
2016-12-26 11:26:58 +01:00
Juergen Hoeller
f805427629
Detect generic type match behind interface-based proxy as well
...
Issue: SPR-14097
2016-12-26 11:23:07 +01:00
Juergen Hoeller
0208198804
Expose reflection metadata with ASM-driven method order
...
Issue: SPR-14505
2016-12-26 11:00:22 +01:00
Juergen Hoeller
ef5c797569
Polishing
2016-12-23 21:23:30 +01:00
Juergen Hoeller
3295a4e6ef
ConfigurationClassParser enforces @Bean declaration order through ASM metadata
...
Issue: SPR-14505
2016-12-23 20:29:12 +01:00
Juergen Hoeller
f51fe5fd39
Polishing
2016-12-23 12:27:07 +01:00
Juergen Hoeller
e788b8467d
GenericApplicationContext offers Supplier-based registration with BeanDefinitionCustomizer callback
...
Issue: SPR-14832
2016-12-23 12:26:47 +01:00
Juergen Hoeller
154ef8bf10
Polishing
2016-12-20 19:57:52 +01:00
Juergen Hoeller
9005481a49
Supplier registration support for annotated bean classes
...
Issue: SPR-14832
2016-12-20 19:57:44 +01:00
Juergen Hoeller
f6b2a21206
ConfigurationClassPostProcessor programmatically registers unified ImportAwareBeanPostProcessor
...
Issue: SPR-14931
2016-12-20 12:16:16 +01:00
Juergen Hoeller
9c55d22f78
MBeanExporter silently ignores null beans
...
Issue: SPR-15031
2016-12-19 16:02:59 +01:00
Juergen Hoeller
7867e56494
Polishing
2016-12-19 02:00:28 +01:00
Juergen Hoeller
3ee6286eb5
Support for functional instance supplier callback at BeanDefinition level
...
Issue: SPR-14832
2016-12-18 21:05:45 +01:00
Juergen Hoeller
4c005e6336
ResolvableType-based matching respects generic factory method return type
...
Includes consistent use of ResolvableType.resolve() wherever applicable.
Issue: SPR-15011
2016-12-17 23:10:48 +01:00
Juergen Hoeller
23f0418337
LocaleContextHolder provides support for framework-level default settings
...
Issue: SPR-15017
2016-12-15 15:43:40 +01:00
Juergen Hoeller
58eccfe5bd
Remove setExtractOldValueForEditor at DataBinder level (to be deprecated in 4.3.5)
...
Issue: SPR-15009
2016-12-14 22:00:05 +01:00
Kazuki Shimizu
9f229283fb
Support lazy initialization of BindingResult when customize a MessageCodesResolver
...
Issue: SPR-15009
2016-12-14 00:50:25 +09:00
Juergen Hoeller
547b9638dc
Collection injection may refer back to factory methods on same bean again
...
Issue: SPR-14996
2016-12-09 23:09:10 +01:00
Juergen Hoeller
a7ec6dc0af
ImportRegistry properly tracks excluded superclasses
...
Issue: SPR-14972
2016-12-09 15:01:21 +01:00
Juergen Hoeller
313c89dd5c
Overloaded methods with java.time.Instant/Duration parameters
...
Issue: SPR-14875
2016-12-08 18:34:00 +01:00
Juergen Hoeller
845dbf040d
Test injection point match for narrow target return type
...
Issue: SPR-14960
2016-11-30 23:47:32 +01:00
Juergen Hoeller
1ae17c27df
Efficient ISO_LOCAL_* variants for printing LocalDate/LocalTime/LocalDateTime
...
Issue: SPR-14958
2016-11-30 23:41:00 +01:00
Juergen Hoeller
f6b8b84df9
Efficient type plus annotation comparisons during converter retrieval
...
Issue: SPR-14926
Issue: SPR-12926
2016-11-30 22:22:44 +01:00
Juergen Hoeller
10d5926b1a
Direct use of Bean Definition 1.1 ExecutableValidator
...
Issue: SPR-13481
2016-11-29 18:09:13 +01:00
Juergen Hoeller
f065589a37
Avoid defensive casts against Java 8 default methods
...
Issue: SPR-13188
2016-11-29 18:07:46 +01:00
Juergen Hoeller
b22a59a0c4
Polishing
2016-11-24 15:32:06 +01:00
Juergen Hoeller
1f4c6de287
Polishing
2016-11-23 21:10:01 +01:00
Juergen Hoeller
9bf4d7cf4e
Polishing
2016-11-22 14:57:00 +01:00
Juergen Hoeller
85b0ce1ef7
Avoid defensive checks against java.time API
...
Issue: SPR-13188
2016-11-22 14:55:03 +01:00
Juergen Hoeller
da63898d5f
Polishing
2016-11-21 17:36:04 +01:00
Juergen Hoeller
dc8cd4e4c0
Polishing
...
Issue: SPR-14888
2016-11-08 17:26:59 +01:00
Kazuki Shimizu
124f2128fa
Detect invalid configuration for autoGrowCollectionLimit on DataBinder
...
Issue: SPR-14888
2016-11-09 01:00:27 +09:00
Juergen Hoeller
b3cd1ad7f1
Refined throwing of BeanCreationExceptions (and reflection exceptions)
...
Issue: SPR-14883
2016-11-07 19:03:18 +01:00
Rossen Stoyanchev
816e32872a
Reactive support for @ModelAttribute argument
...
Issue: SPR-14542
2016-11-07 15:02:13 +02:00
Rossen Stoyanchev
3230ca6d39
Add ConcurrentModel
...
This commit adds a Model implementation based on ConcurrentHashMap for
use in Spring Web Reactive.
Issue: SPR-14542
2016-11-07 15:02:13 +02:00
Juergen Hoeller
7f4904ed22
Avoid deprecated Mockito methods
...
Issue: SPR-14880
2016-11-04 20:39:53 +01:00
Juergen Hoeller
8df45dd274
@Async docs explicitly mention ListenableFuture and CompletableFuture
...
Issue: SPR-14881
2016-11-04 12:54:24 +01:00
Juergen Hoeller
ac774cdcef
Avoid deprecated Mockito methods
...
Issue: SPR-14880
2016-11-04 12:24:46 +01:00
Juergen Hoeller
8ae0bd6ea9
ApplicationListenerDetector ignores non-managed bean instances
...
Issue: SPR-14879
2016-11-03 22:52:43 +01:00
Juergen Hoeller
8053fefea8
Consistent support for early placeholder resolution in properties locations
...
Issue: SPR-10502
2016-11-03 14:33:48 +01:00
Juergen Hoeller
03468fd9ed
ReloadableResourceBundleMessageSource sets file timestamp on merged holder
...
Issue: SPR-14583
2016-11-03 14:27:44 +01:00
Juergen Hoeller
b07d40cc44
Polishing
...
(cherry picked from commit 77e00f1
)
2016-10-31 20:56:00 +01:00
Juergen Hoeller
ac80ac6f8b
Consistent instanceof/casting of Class references
2016-10-30 21:40:27 +01:00
Juergen Hoeller
2f9ed5917b
Polishing
2016-10-28 23:49:21 +02:00
Juergen Hoeller
dc080cb1be
Revised NoSuchBeanDefinitionException message and ResolvableType handling
...
Includes consistent quoting of qualified type names in related classes.
Issue: SPR-14831
2016-10-28 23:39:05 +02:00
Juergen Hoeller
c946924431
ApplicationListener detection for inner beans behind post-processors
...
Issue: SPR-14783
2016-10-28 23:35:56 +02:00
Juergen Hoeller
bf9083d60f
TypeDescriptor supports merged annotation lookups (for composable formatting annotations)
...
Issue: SPR-14844
2016-10-28 23:33:26 +02:00
Juergen Hoeller
08972eff9b
Local merged annotation lookup in SpringCacheAnnotationParser
...
Issue: SPR-14781
Issue: SPR-14801
2016-10-28 23:32:55 +02:00
Juergen Hoeller
13001b9aff
SimpleApplicationEventMulticaster just swallows event downcast exceptions
...
Issue: SPR-14846
2016-10-28 15:25:22 +02:00
Stephane Nicoll
56c48623fd
Allow @Cacheable method to return Optional
...
This commit further refines 240f254
to also support java.util.Optional
for synchronized cache access (i.e. when the `sync` attribute on
`@Cacheable` is set to `true`).
Issue: SPR-14853
2016-10-27 09:47:15 +02:00
Stephane Nicoll
ffa728c23c
Move NoOpCache to a top-level public class
...
This commit moves `NoOpCache` to a top-level public class to allow reuse
in custom CacheManager arrangement.
Issue: SPR-14856
2016-10-27 09:06:32 +02:00
Stephane Nicoll
1f3b8ff2f7
LiveBeansView does not rely on application contexts order anymore
...
This commit makes sure that the `unregister` order of registered
application contexts has no incidence on the removal of the LiveBeansView
MBean.
Rather than using the last application context's name to compute the
identity of the MBean to remove, the identity is stored when the MBean is
created.
This commit also adds missing tests.
Issue: SPR-14848
2016-10-26 15:03:14 +02:00
Stephane Nicoll
19db0424d2
Clarify SpEL usage on `@EventListener`
...
Issue: SPR-14812
2016-10-25 17:45:12 +02:00
Juergen Hoeller
3726c6f18d
Polishing
2016-10-21 12:26:27 +02:00
Juergen Hoeller
f7d740fa69
ConversionService detects generic type declaration on target class behind proxy as well
...
Issue: SPR-14822
2016-10-21 12:24:12 +02:00
Stephane Nicoll
fc8bad36c9
Fix formatting
...
Closes gh-1206
2016-10-15 11:55:07 +03:00
Philippe Marschall
ae5b0c6fb5
Replace J2EE with Java EE
...
String with version 5 the name of Java Platform, Enterprise Edition
changed from J2EE to Java EE. However a lot of the documentation still
uses the term J2EE.
This commit includes the following changes:
* replace J2EE with Java EE where appropriate
This is not a blind search and replace. The following occurrences
remain unchanged:
* references to old J2EE releases, most notably 1.3 and 1.4.
* references to "Expert One-On-One J2EE Design and Development"
* references to "Core J2EE patterns"
* XML namespaces
* package names
Issue: SPR-14811
See gh-1206
2016-10-15 11:49:00 +03:00
Juergen Hoeller
eafaaa5cb8
Polishing
2016-10-12 17:11:04 +02:00
Juergen Hoeller
a32b52555a
@Primary not marked as inherited anymore
...
Issue: SPR-14780
2016-10-12 17:10:29 +02:00
Juergen Hoeller
74b6a5b6d7
BindingResult does not hold on to ConversionService when serialized in session
...
Issue: SPR-8282
2016-10-12 17:08:55 +02:00
Stephane Nicoll
ab232a5386
Polish EnableAsync javadoc
...
Issue: SPR-14793
2016-10-11 08:21:52 +02:00
Juergen Hoeller
ebed7b77c3
SpringValidatorAdapter declares ResolvableAttribute as serializable
...
Issue: SPR-14778
2016-10-05 21:54:56 +02:00
Juergen Hoeller
fb7ae010c8
Avoid unnecessary generics on emptyMap/Set/List
2016-09-26 18:04:49 +02:00
Juergen Hoeller
bf6653b837
Adapted to 4.3.3 backport
...
Issue: SPR-14728
2016-09-18 21:33:58 +02:00
Sam Brannen
8f62b63663
Introduce 'value' alias for @Bean's 'name' attribute
...
In order to simplify configuration for use cases involving @Bean where
only a bean name or aliases are supplied as an attribute, this commit
introduces a new 'value' attribute that is an @AliasFor 'name' in @Bean.
Issue: SPR-14728
2016-09-17 16:16:06 +02:00
Juergen Hoeller
ce42ed4d44
Polishing
2016-09-13 21:58:41 +02:00
Juergen Hoeller
c69e6a36f7
Revised IllegalArgumentException handling for Formatter parse calls
...
Issue: SPR-14661
2016-09-13 21:55:20 +02:00
Juergen Hoeller
0c2e8a6246
Consistent callbacks for TypeFilters, ImportSelectors and ImportBeanDefinitionRegistrars
...
Issue: SPR-14686
2016-09-13 21:49:24 +02:00
Juergen Hoeller
5405c07d26
Configuration class processing uses MetadataReaderFactory for current ResourceLoader
...
Issue: SPR-14684
2016-09-13 21:47:32 +02:00
Juergen Hoeller
480cd2c2f0
IdentityHashMap for scheduled tasks (avoiding hashCode calls on bean instances)
...
Issue: SPR-14666
2016-09-13 21:44:29 +02:00
Juergen Hoeller
a86f6d3676
ApplicationEventPublisher as functional interface
...
Issue: SPR-14699
2016-09-13 21:42:23 +02:00
Juergen Hoeller
118d093eaf
Drop defensive Joda-Time 2.x check
2016-09-13 21:37:44 +02:00
Juergen Hoeller
d5c9cc62f1
Correct ISO DateTime example
...
Issue: SPR-14675
2016-09-13 21:36:41 +02:00
Stephane Nicoll
dcade06fa0
Support for candidate components index
...
This commit adds a "spring-context-indexer" module that can be added to
any project in order to generate an index of candidate components defined
in the project.
`CandidateComponentsIndexer` is a standard annotation processor that
looks for source files with target annotations (typically `@Component`)
and references them in a `META-INF/spring.components` generated file.
Each entry in the index is the fully qualified name of a candidate
component and the comma-separated list of stereotypes that apply to that
candidate. A typical example of a stereotype is `@Component`. If a
project has a `com.example.FooService` annotated with `@Component` the
following `META-INF/spring.components` file is generated at compile time:
```
com.example.FooService=org.springframework.stereotype.Component
```
A new `@Indexed` annotation can be added on any annotation to instructs
the scanner to include a source file that contains that annotation. For
instance, `@Component` is meta-annotated with `@Indexed` now and adding
`@Indexed` to more annotation types will transparently improve the index
with additional information. This also works for interaces or parent
classes: adding `@Indexed` on a `Repository` base interface means that
the indexed can be queried for its implementation by using the fully
qualified name of the `Repository` interface.
The indexer also adds any class or interface that has a type-level
annotation from the `javax` package. This includes obviously JPA
(`@Entity` and related) but also CDI (`@Named`, `@ManagedBean`) and
servlet annotations (i.e. `@WebFilter`). These are meant to handle
cases where a component needs to identify candidates and use classpath
scanning currently.
If a `package-info.java` file exists, the package is registered using
a "package-info" stereotype.
Such files can later be reused by the `ApplicationContext` to avoid
using component scan. A global `CandidateComponentsIndex` can be easily
loaded from the current classpath using `CandidateComponentsIndexLoader`.
The core framework uses such infrastructure in two areas: to retrieve
the candidate `@Component`s and to build a default `PersistenceUnitInfo`.
Rather than scanning the classpath and using ASM to identify candidates,
the index is used if present.
As long as the include filters refer to an annotation that is directly
annotated with `@Indexed` or an assignable type that is directly
annotated with `@Indexed`, the index can be used since a dedicated entry
wil be present for that type. If any other unsupported include filter is
specified, we fallback on classpath scanning.
In case the index is incomplete or cannot be used, The
`spring.index.ignore` system property can be set to `true` or,
alternatively, in a "spring.properties" at the root of the classpath.
Issue: SPR-11890
2016-09-01 15:30:47 +02:00
Juergen Hoeller
4ef428de28
Polishing
2016-08-30 23:57:11 +02:00
Juergen Hoeller
58fa63fdd1
ApplicationListenerMethodAdapter resolves order on construction
...
Issue: SPR-14642
2016-08-30 20:50:02 +02:00
Sam Brannen
d6d05e8ca0
Remove trailing whitespace in Java source code
2016-08-29 15:25:10 +02:00
Juergen Hoeller
57cb7c7e0a
LiveBeansView exposes aliases as well
...
Issue: SPR-14632
2016-08-26 20:04:23 +02:00
Juergen Hoeller
405e74b6ae
GenericApplicationContext picks up ClassLoader from custom ResourceLoader
...
Issue: SPR-14626
2016-08-24 21:23:57 +02:00
Juergen Hoeller
ab0d523cc0
Polishing
...
(cherry picked from commit 1932a9d
)
2016-08-17 21:54:40 +02:00
Juergen Hoeller
6a0d9d3d97
Consistent support for CompilationCustomizers as well as custom CompilerConfiguration
...
Issue: SPR-14585
2016-08-17 11:29:49 +02:00
Juergen Hoeller
a1b167a988
Polishing
2016-08-17 00:53:38 +02:00
Juergen Hoeller
433764d217
GroovyScriptFactory supports CompilationCustomizer next to GroovyObjectCustomizer
...
Issue: SPR-14585
2016-08-17 00:47:50 +02:00
Juergen Hoeller
214c919742
AspectJ bean pointcut supports qualifier match
...
Issue: SPR-11217
2016-08-17 00:43:41 +02:00
Stephane Nicoll
0d59a15849
Better document #result semantic
...
Commit 240f254
has introduced support for `java.util.Optional` in the
cache abstraction. If such type is present, the contained value is cached
if it is present.
This new feature slightly changed the semantic of `#result` that was
documented up till this commit as the "return value of the method
invocation". This is no longer true as `#result` for `Optional<T>`
refers to the `T` instance and not the `Optional` instance.
This commit clarifies both the javadoc and the documentation.
Issue: SPR-14587
2016-08-16 13:45:10 +02:00
Igor Mukhin
3f0b458616
Add aditional example to CronSequenceGenerator
...
CronSequenceGenerator supports comma separated expressions but does not
provide an example for it. This commit adds such an example.
Closes gh-1132
2016-08-16 11:41:37 +02:00
Juergen Hoeller
59a24b406a
Polishing
2016-08-10 14:20:42 +02:00
Juergen Hoeller
fae503d568
MethodBasedEvaluationContext reliably exposes varargs
...
Issue: SPR-14554
2016-08-09 21:24:38 +02:00
Stephane Nicoll
8aadb8d193
Polish Javadoc
...
Issue: SPR-14552
2016-08-06 17:15:36 +02:00
Juergen Hoeller
d96a66ae8f
ConfigurationClassParser uses unified ImportStack with chained import analysis
...
Issue: SPR-14517
2016-07-28 00:06:13 +02:00
Juergen Hoeller
328e04f167
JndiPropertySource defensively skips invalid JNDI lookup for property name with colon in resource-ref mode
...
Issue: SPR-14518
2016-07-27 22:37:25 +02:00
Juergen Hoeller
5db449556b
Polishing
2016-07-27 16:21:55 +02:00
Juergen Hoeller
316244d2bd
Isolated circular import detection for scanned configuration classes
...
Issue: SPR-14517
2016-07-27 16:21:48 +02:00
Juergen Hoeller
b9ab895743
Inferred generics for newSetFromMap arrangements
...
Issue: SPR-13188
2016-07-26 21:26:31 +02:00
Juergen Hoeller
e03dea1d64
Polishing
2016-07-26 17:15:19 +02:00
Juergen Hoeller
75fc0f8538
Framework build compatible with JDK 9 (even with -target 1.9)
...
Issue: SPR-13344
2016-07-25 23:26:09 +02:00
Juergen Hoeller
9f2cb3e276
Keep deprecated addCache method (e.g. for Spring Data Redis)
...
Issue: SPR-14430
2016-07-25 17:47:11 +02:00
Juergen Hoeller
4a85309a04
Consistent throwing of BeanNotOfRequiredTypeException even for existing proxy
...
Issue: SPR-14504
2016-07-24 15:31:00 +02:00
Juergen Hoeller
0e3f0bd9d0
Avoid JDK proxy against CGLIB Factory interface and assert required type when resolving dependency
...
Issue: SPR-14478
2016-07-20 18:05:51 +02:00
Juergen Hoeller
a4743c07d4
Polishing
2016-07-19 20:09:00 +02:00
Juergen Hoeller
88fcd0a2ed
Framework build compatible with JDK 9 (tests running against java.base module)
...
Issue: SPR-13344
2016-07-19 19:37:34 +02:00
Juergen Hoeller
d07381e862
Avoid deprecated number constructors on JDK 9
...
Issue: SPR-13344
2016-07-19 19:25:55 +02:00
Juergen Hoeller
aaac199e8b
Consistently use constructor-based instantiation instead of Class.newInstance / BeanUtils.instantiate
...
Issue: SPR-14486
2016-07-19 19:21:06 +02:00
Juergen Hoeller
dc1664939c
Javadoc fixes and pruning of outdated references
2016-07-15 22:12:11 +02:00
Juergen Hoeller
a0df71e76a
ConfigurationClassParser load annotations through source class loader
...
Issue: SPR-10343
(cherry picked from commit 9e93403
)
2016-07-15 17:17:25 +02:00
Juergen Hoeller
3d3407c789
Consistent alias processing behind AnnotatedTypeMetadata abstraction (also for ASM)
...
Issue: SPR-14427
2016-07-15 13:59:25 +02:00
Juergen Hoeller
e431624e84
CronSequenceGenerator prevents stack overflow in case of inverted range
...
Issue: SPR-14462
2016-07-14 21:11:28 +02:00
Stephane Nicoll
ff738e7670
Polish contribution
...
Closes gh-1070
2016-07-14 11:12:06 +02:00
spodgurskiy
f075aac7f9
Fix MethodBasedEvaluationContext.lazyLoadArguments
...
This commit fix a potential `ArrayIndexOutOfBoundsException` if
`lazyLoadArguments` is called with an empty variable argument.
See gh-1070
2016-07-14 10:58:21 +02:00
Stephane Nicoll
11ed26584d
Polish
2016-07-11 10:50:44 +02:00
Stephane Nicoll
15c3cdd48d
Fix NoOpCache handling of get(key,callable)
...
This commit fixes the method that takes a Callable to actually always
invoke it rather than returning null.
Issue: SPR-14445
2016-07-11 10:34:27 +02:00
Juergen Hoeller
c43e7497c1
Fixed typo: "occured"->"occurred"
2016-07-08 15:12:16 +02:00
Stephane Nicoll
2bf9bc312e
Remove Guava cache support
...
This commit removes `GuavaCache` and support classes. Caffeine supersedes
the caching support in the Google Guava library with an actively maintained
Java 8+ version in standalone form.
As it is the only Guava feature Spring framework integrates with, this
commit removes effectively any reference to Guava.
Issue: SPR-13797
2016-07-08 10:57:05 +02:00
Juergen Hoeller
6aa5931e28
Polishing
2016-07-07 01:05:25 +02:00
Juergen Hoeller
a1f5fb53db
Java 8 getParameterCount() instead of getParameterTypes().length
...
Issue: SPR-13188
2016-07-07 01:04:24 +02:00
Juergen Hoeller
102dc8a4dd
Polishing
2016-07-06 15:29:15 +02:00
Stephane Nicoll
e4b0486c5a
Add @FunctionalInterface on candidate interfaces
...
Issue: SPR-14432
2016-07-06 14:32:13 +02:00
Juergen Hoeller
bc2c22d51e
Streamline XML namespace support towards unversioned schemas
...
This commit also removes support code for outdated options which were only available in older schema versions.
Issue: SPR-13499
2016-07-05 20:50:03 +02:00
Juergen Hoeller
acdb43f470
Remove remaining JRuby and Commons Pool test resources
...
Issue: SPR-14429
2016-07-05 20:47:39 +02:00
Sam Brannen
1391248ea6
Introduce log4j 2 for Spring's test suite
...
This commit adds a test runtime dependency on log4j 2 for every project
and migrates all log4j.properties files to log4j2-test.xml files.
Issue: SPR-14431
2016-07-05 19:19:09 +02:00
Stephane Nicoll
00d2606b00
Explicit type can be replaced by <>
...
Issue: SPR-13188
2016-07-05 17:00:34 +02:00
Stephane Nicoll
3096888c7d
Better synchronization in ConcurrentMapCache
...
Issue: SPR-13810
2016-07-05 16:44:07 +02:00
Juergen Hoeller
b5db5d3aac
Broadly remove deprecated core classes and methods
...
Issue: SPR-14430
2016-07-05 15:52:49 +02:00
Juergen Hoeller
0fc0ce78ae
Drop deprecated dependencies on Log4j, JRuby, JExcel, Burlap, Commons Pool/DBCP
...
This commit also removes outdated support classes for Oracle, GlassFish, JBoss.
Issue: SPR-14429
2016-07-05 15:46:53 +02:00
Juergen Hoeller
51252ebbca
Avoid defensive checks against Java 8 API (java.util.Optional etc)
...
This commit also fixes broken javadoc links and code references.
Issue: SPR-13188
2016-07-05 02:09:00 +02:00
Juergen Hoeller
54004e0d78
Upgrade to JPA 2.1+ and Bean Validation 1.1+; remove native support for Hibernate 3.6 and 4.x
...
Issue: SPR-13481
Issue: SPR-13827
2016-07-04 23:37:23 +02:00
Juergen Hoeller
2b3445df81
Drop Portlet MVC support
...
This commit also removes the corresponding deprecated Servlet MVC variant and updates DispatcherServlet.properties to point to RequestMappingHandlerMapping/Adapter by default.
Issue: SPR-14129
2016-07-04 23:33:47 +02:00
Juergen Hoeller
0900808820
Method-level @SuppressWarnings("unchecked") for generic varargs
2016-07-04 23:20:41 +02:00
Stephane Nicoll
037746da44
Polish
...
Closes gh-1097
2016-07-01 14:26:48 +02:00
Stephane Nicoll
d9993243b6
Polish
...
Closes gh-1096
2016-07-01 10:43:54 +02:00
Juergen Hoeller
66ec1c1618
Add missing package-info files for common packages
...
Issue: SPR-14420
2016-06-30 21:39:06 +02:00
Juergen Hoeller
e15f7efff8
InjectionPoint propagated for shortcut bean name resolution as well
...
Issue: SPR-14400
2016-06-26 00:18:54 +02:00
Juergen Hoeller
a2aa82eb31
Polishing
2016-06-22 11:55:33 +02:00
Juergen Hoeller
981d4494c6
AspectJWeavingEnabler registered with well-defined bean name (and therefore once only)
...
Issue: SPR-14373
2016-06-22 11:55:24 +02:00
Juergen Hoeller
8cb9d5ebae
EnableAspectJAutoProxy features exposeProxy flag (analogous to XML namespace)
...
Issue: SPR-10454
2016-06-20 13:50:04 +02:00
Stephane Nicoll
d41178c75a
Polish contribution
...
Closes gh-1080
2016-06-16 12:12:42 +02:00
nkjackzhang
9656015d26
Fix typo in javadoc
...
See gh-1080
2016-06-16 12:11:14 +02:00
Juergen Hoeller
d51c22a789
Consistent processing of empty values and catching of RuntimeExceptions for Formatters
...
Issue: SPR-14345
2016-06-09 10:49:15 +02:00
Juergen Hoeller
c6f63bdb30
Assertions for error codes in case of formatting failures
...
Issue: SPR-14345
2016-06-08 15:54:00 +02:00
Juergen Hoeller
8c4bc3656b
Polishing
2016-06-07 15:42:16 +02:00
Juergen Hoeller
f657952cee
EventListenerMethodProcessor defensively handles unresolvable method signatures
...
Issue: SPR-14330
2016-06-04 00:15:52 +02:00
Juergen Hoeller
ae11387b4a
Removal of @Ignore'd tests
...
Issue: SPR-6310
Issue: SPR-6327
2016-06-02 11:47:22 +02:00
Juergen Hoeller
3576ff051c
ScheduledAnnotationBeanPostProcessor properly registers multiple tasks per bean
...
Issue: SPR-14286
2016-05-30 22:47:31 +02:00
Juergen Hoeller
24f5f368b0
Consistent meta-annotation attributes lookup through ASM
...
Issue: SPR-14257
2016-05-30 22:39:27 +02:00
Juergen Hoeller
86557f25af
ConcurrentMapCacheManager recreates caches when initializing ClassLoader
...
Issue: SPR-14314
2016-05-30 17:13:45 +02:00
Juergen Hoeller
98eaf05c8f
@Bean's "autowire" attribute does not affect annotation-driven autowiring
...
Issue: SPR-14282
2016-05-29 13:19:09 +02:00
Juergen Hoeller
03affa02db
ConfigurationClassParser detects @Bean methods in interface hierarchies as well
...
Issue: SPR-14288
2016-05-27 22:34:09 +02:00
Stefan Ferstl
d651ebfd2d
Fix CacheManager example in Javadoc
...
Closes gh-1052
2016-05-12 15:23:40 +02:00
Stephane Nicoll
66bab2a9fc
Revert "Manage asynchronous EventListener with replies"
...
This reverts commit bee1b77af5
.
2016-05-06 13:38:03 +02:00
Juergen Hoeller
1b1aac9172
Unit tests for AsyncResult callback behavior
...
Issue: SPR-14249
2016-05-05 20:40:30 +02:00
Juergen Hoeller
7dc181261e
Polishing
2016-05-05 20:35:34 +02:00
Sam Brannen
a1a87679da
Support test annotations on interfaces
...
Prior to Java 8 it never really made much sense to author integration
tests using interfaces. Consequently, the Spring TestContext Framework
has never supported finding test-related annotations on interfaces in
its search algorithms.
However, Java 8's support for interface default methods introduces new
testing use cases for which it makes sense to declare test
configuration (e.g., @ContextConfiguration, etc.) on an interface
containing default methods instead of on an abstract base class.
This commit ensures that all non-repeatable, class-level test
annotations in the Spring TestContext Framework can now be declared on
test interfaces. The only test annotations that cannot be declared on
interfaces are therefore @Sql and @SqlGroup.
Issue: SPR-14184
2016-05-05 19:54:44 +02:00
Juergen Hoeller
ab478d14fa
ScheduledAnnotationBeanPostProcessor tracks individual bean instances of any scope
...
Issue: SPR-12216
Issue: SPR-12872
2016-05-04 17:06:08 +02:00
Juergen Hoeller
162aedccbe
Polishing
2016-05-04 17:02:16 +02:00
Sam Brannen
7b13311f03
Delete unused imports
2016-05-03 20:12:37 +02:00
Juergen Hoeller
7737c3c7e5
Warn about non-static BeanDefinitionRegistryPostProcessor declarations on @Configuration classes
...
Issue: SPR-14234
2016-05-02 15:19:05 +02:00
Juergen Hoeller
fdb31cd715
Check actual cache value for unwrapped Optional
...
Issue: SPR-14230
2016-04-29 10:56:26 +02:00
Juergen Hoeller
240f254bfc
Allow @Cacheable method to return java.util.Optional variant of cached value
...
Includes renaming of internal delegate to CacheOperationExpressionEvaluator.
Issue: SPR-14230
2016-04-28 23:16:43 +02:00
Juergen Hoeller
9412f7a094
InstantFormatter accepts RFC-1123 values as well
...
Issue: SPR-14201
2016-04-28 14:35:33 +02:00
Juergen Hoeller
e0734aede8
ApplicationListenerDetector explicitly prevents serialization of its ApplicationContext reference
...
Issue: SPR-14214
2016-04-27 21:30:46 +02:00
Juergen Hoeller
b331ad5b2a
Explicit note on scheduled methods with a return value
...
Issue: SPR-14195
2016-04-27 15:45:30 +02:00
Sam Brannen
4a4cd5bde8
Polish CronSequenceGenerator and tests
2016-04-23 18:05:54 +02:00
Ruslan Sibgatullin
31d634e6bf
Added cron expression validation method for CronSequenceGenerator
...
It's handy to know in advance whether or not expression that is
passed to CronSequenceGenerator or CronTrigger constructor would
not results in IllegalArgumentException. The only way to do it
now is to try\catch an instance creation but it's kinda ugly.
2016-04-23 17:56:29 +03:00
Johnny Lim
44e652f99e
Remove duplicate words
...
Closes gh-1039
2016-04-19 08:24:21 +02:00
Stephane Nicoll
bee1b77af5
Manage asynchronous EventListener with replies
...
This commit makes sure to reject an `@EventListener` annotated method
that also uses `@Async`. In such scenario, the method is invoked in a
separate thread and the infrastructure has no handle on the actual reply,
if any.
The documentation has been improved to refer to that scenario.
Issue: SPR-14113
2016-04-15 13:22:11 +02:00
Juergen Hoeller
b28d96af7d
ScheduledAnnotationBeanPostProcessor accepts non-void methods as well
...
Issue: SPR-14175
2016-04-14 21:59:02 +02:00
Juergen Hoeller
999112216d
AopUtils.canApply properly matches package-visible methods (aligned with advice matching within proxies)
...
Also, AbstractAutoProxyCreator considers Pointcut as infrastructure class, analogous to Advice and Advisor.
Issue: SPR-14174
2016-04-14 21:46:25 +02:00
Juergen Hoeller
3b44c47dcd
Polishing
2016-04-14 16:39:36 +02:00
Juergen Hoeller
dcfa4740ee
Polishing
...
(cherry picked from commit 09b7735
)
2016-04-13 13:56:37 +02:00
Juergen Hoeller
da112611a5
SpringCacheAnnotationParser properly accepts empty @Caching annotation
...
Issue: SPR-14162
2016-04-12 23:19:51 +02:00
Stephane Nicoll
10554a85c9
Polish
2016-04-12 08:34:38 +02:00
Juergen Hoeller
b6f1afd471
Polishing
2016-04-11 21:20:31 +02:00
Juergen Hoeller
537193a4e0
Consistent license header
2016-04-11 20:49:38 +02:00
Juergen Hoeller
550a3209f7
Fixed XML example for setup of scheduled tasks
...
Issue: SPR-14145
2016-04-11 19:27:06 +02:00
Juergen Hoeller
b82df144e4
LoadTimeWeaver.getThrowawayClassLoader() decorated for exclude support (if necessary)
...
Issue: SPR-13886
2016-04-11 19:19:37 +02:00
Juergen Hoeller
437ffa6067
Detect LoadTimeWeaver bean when declared through @Bean method as well
...
Issue: SPR-10856
2016-04-11 17:43:23 +02:00
Juergen Hoeller
4407bd794d
Polishing
2016-04-10 05:40:35 +02:00
Juergen Hoeller
cb9549655c
AbstractApplicationContext registers default embedded value resolver
...
Issue: SPR-14140
2016-04-09 20:49:22 +02:00
Juergen Hoeller
157dcab56c
Cleanup of remaining direct BeanWrapper usage
...
Issue: SPR-14121
2016-04-07 14:27:22 +02:00
youmoo
1bccc8f1cd
Fix typo
...
Closes gh-1027
2016-04-04 17:36:17 +02:00
Juergen Hoeller
13f889e914
SimpleApplicationEventMulticaster leniently handles ClassCastException
...
Issue: SPR-14109
2016-04-04 14:54:38 +02:00
Juergen Hoeller
696dcb72a5
SpringValidatorAdapter allows for custom field name resolution
...
Issue: SPR-14104
2016-04-01 10:29:56 +02:00
Juergen Hoeller
739ae8c045
LocalValidatorFactoryBean supports custom ValidationProviderResolver
...
Issue: SPR-14100
2016-03-31 16:52:26 +02:00
Juergen Hoeller
14bf6509ec
Consistent cache key implementation across transaction and cache attribute sources
...
Includes consistent applicability of class-level metadata to user-level methods only.
Issue: SPR-14017
Issue: SPR-14095
2016-03-30 14:13:04 +02:00
Sam Brannen
ea09e578b9
Document support for @Cache* as merged composed annotations
...
Issue: SPR-13475
2016-03-29 20:04:43 +02:00
Sam Brannen
2ed3382a60
Document composed support for @Scheduled, @JmsListener, & @Sql
...
Issue: SPR-13973
2016-03-29 19:53:58 +02:00
Sam Brannen
3597879608
Revert merged support for @ManagedNotification & @ManagedOperationParameter
...
This commit reverts the recently added merged annotation support for
Spring's JMX annotations by once again using the simpler searches for
repeatable annotations in AnnotationUtils.
Issue: SPR-13973
2016-03-29 17:51:47 +02:00
Sam Brannen
4fa11e334f
Test @ManagedNotification as a merged, composed annotation
...
Issue: SPR-13973
2016-03-26 20:10:20 +01:00
Juergen Hoeller
54aeb7a5d6
Cache key classes implement Comparable and consistently provide a toString representation
...
Issue: SPR-14017
2016-03-26 14:32:10 +01:00
Sam Brannen
a8b5ea1c51
Polishing
2016-03-26 01:27:37 +01:00
Sam Brannen
4836d06704
Test @Scheduled as a merged composable annotation
...
Issue: SPR-13973
2016-03-26 00:47:02 +01:00
Juergen Hoeller
c6ff0951fc
Polishing
2016-03-25 23:46:18 +01:00
Juergen Hoeller
94cb7786c8
Polishing
2016-03-25 23:28:45 +01:00
Sam Brannen
c6b1f38651
Support @Scheduled as a merged composable annotation
...
Issue: SPR-13973
2016-03-25 00:49:59 +01:00
Sam Brannen
b6d9fd39e6
Support @ManagedNotification & @ManagedOperationParameter as merged annotations
...
Issue: SPR-13973
2016-03-25 00:49:21 +01:00
Juergen Hoeller
517ebd1d3e
Consistent formatting
2016-03-24 19:22:50 +01:00
Juergen Hoeller
9af12d290e
Polishing
2016-03-23 18:39:29 +01:00
Juergen Hoeller
5025c615b1
Consistent use of AnnotatedElementUtils.findMergedAnnotation/hasAnnotation
...
Issue: SPR-13440
2016-03-23 18:39:20 +01:00
Juergen Hoeller
3c18a4533a
Ignored test removed (not intended to work)
...
Issue: SPR-14058
2016-03-23 18:15:29 +01:00
Sam Brannen
59c88eb3c0
Support @Cache* as merged composed annotations
...
Prior to this commit, @Cacheable, @CacheEvict, @CachePut, and @Caching
could be used to create custom stereotype annotations with hardcoded
values for their attributes; however, it was not possible to create
composed annotations with attribute overrides.
This commit addresses this issue by refactoring
SpringCacheAnnotationParser to use the newly introduced
findAllMergedAnnotations() method in AnnotatedElementUtils. As a
result, @Cacheable, @CacheEvict, @CachePut, and @Caching can now be
used to create custom composed annotations with attribute overrides
configured via @AliasFor.
Issue: SPR-13475
2016-03-21 12:54:09 +01:00
Sam Brannen
4cd7ba12bb
Polishing
2016-03-19 14:39:01 +01:00
Juergen Hoeller
a1a06cd665
@EnableScheduling tests do not expect exception in case of scheduler ambiguity anymore
...
Issue: SPR-14030
2016-03-19 13:18:24 +01:00
Sam Brannen
5045579028
Revise EnableSchedulingTests
...
- Fast tests now always run (i.e., are no longer limited to the
performance build
- Failing tests have been @Ignore'd
Issue: SPR-14030
2016-03-19 12:38:47 +01:00
Juergen Hoeller
6e3fac85f3
AnnotationAwareOrderComparator uses DecoratingProxy interface for target class introspection
...
Issue: SPR-13884
2016-03-18 22:12:10 +01:00
Juergen Hoeller
431ca9314a
Leniently allow constructor argument matches if required name is not resolvable
...
Issue: SPR-13987
2016-03-18 18:51:33 +01:00
Juergen Hoeller
a95bf6e0fc
Current InjectionPoint/DependencyDescriptor as factory method argument
...
Issue: SPR-14033
2016-03-18 15:30:33 +01:00
Juergen Hoeller
d2c0885e29
StandardServletEnvironment supports "spring.jndi.ignore" flag for efficient property lookups
...
Issue: SPR-14026
2016-03-16 18:14:44 +01:00
Stephane Nicoll
b1121fba70
Polish
2016-03-16 17:14:03 +01:00
Stephane Nicoll
30d457c622
Deprecate addCache
2016-03-16 17:13:06 +01:00
Sam Brannen
e904ce4ead
Polish QualifierAnnotationAutowireContextTests
2016-03-15 18:17:50 +01:00
Sam Brannen
e83e3ec9de
Add failing test for @Qualifier as composed annotation
...
Issue: SPR-14058
2016-03-15 18:13:59 +01:00
Stephane Nicoll
33a4e9e57f
Prevent non public bean to be exposed to JMX
...
Previously, a package private `@ManagedResource` annotated bean was
registered to the JMX domain even if any attempt to invoke an operation
on it will fail since it has to be public.
This commit validates that any `@ManagedResource` annotated bean is
public and throws an InvalidMetadataException otherwise. Note that the
actual bean type does not have to be public as long as the class
annotated with `@ManagedResource` in the hierarchy is pubic and no extra
operations or attributes are defined on the child.
Issue: SPR-14042
2016-03-15 09:51:20 +01:00
Juergen Hoeller
155fa3754b
Consistent lazy resolution of default executor/scheduler for Async/ScheduledAnnotationBeanPostProcessor
...
Issue: SPR-14030
2016-03-11 23:23:58 +01:00
Phillip Webb
094cf6cafb
Support *Aware for @ComponentScan custom filters
...
Support a limited set of *Aware interfaces for TypeFilters created
via the @ComponentScan annotation.
Issue: SPR-14009
2016-03-11 12:40:42 -08:00
Juergen Hoeller
b4de66ff9a
Test for placeholder-specified default value within @Value
...
Issue: SPR-14025
2016-03-11 15:00:01 +01:00
Juergen Hoeller
0597ff109e
Bsh/GroovyScriptFactory reset script cache in case of compilation error
...
Issue: SPR-14007
2016-03-11 12:55:20 +01:00
Juergen Hoeller
b944283354
ConstructorResolver exposes parameter signature from user-declared class (in case of a CGLIB-generated subclass)
...
Issue: SPR-14015
2016-03-11 12:52:40 +01:00
Stephane Nicoll
8e24a4153c
Support ResolvableTypeProvider on simple event pojo
...
Previously, the generic type of a simple pojo event implementing
ResolvableTypeProvider wasn't detected properly. This commit fixes the
logic when the generic type is not provided to reuse what
PayloadApplicationEvent is already doing anyway.
Issue: SPR-14029
2016-03-09 11:55:20 +01:00
Stephane Nicoll
e086a5d58b
Polish
...
Add period unit in the description so that it shows up in the summary
description.
2016-03-06 09:04:59 +01:00
Phillip Webb
ffbf264976
Polish Javadoc
2016-03-01 13:34:25 -08:00
Sam Brannen
61824b1ade
Remove trailing whitespace from source code
2016-02-29 18:52:57 +01:00
Juergen Hoeller
8e5e384de7
Test for constructor with unresolvable parameter name
...
Issue: SPR-13987
2016-02-29 11:18:23 +01:00
Juergen Hoeller
7b1fcfc7c3
Consistently strict parsing of date overflows (using java.time's strict resolution style)
...
Issue: SPR-13567
2016-02-23 16:12:26 +01:00
Juergen Hoeller
a3789120c9
Support for @PropertySource annotations with custom implementation types
...
Issue: SPR-8963
2016-02-22 23:25:50 +01:00
Juergen Hoeller
b9fe6d89da
Avoid NPE in case of @Lazy @Autowired(required=false)
...
Issue: SPR-13967
2016-02-22 23:21:59 +01:00
Juergen Hoeller
700ab2fc98
DataBinder test for java.util.Optional property
...
Issue: SPR-13933
2016-02-19 19:21:09 +01:00
Juergen Hoeller
a7ad49adcf
Placeholder configurers allow for trimming of property values
...
Issue: SPR-5839
2016-02-19 19:19:39 +01:00
Juergen Hoeller
5ed9046886
BeanMethodInterceptor does not pass on null arguments for singleton beans
...
Issue: SPR-13887
2016-02-19 14:00:52 +01:00
Andy Wilkinson
65d144b1e5
Consistent descriptions for ConfigurationClass
...
Previously, a ConfigurationClass created from AnnotationMetadata
and a ConfigurationClass created from a class would have subtly
different descriptions. Given a class named com.example.Foo, the
former’s description would be “com.example.Foo”, whereas the latter’s
description would be “class com.example.Foo”.
This commit updates ConfigurationClass to make the description
consistent, preferring the description without “class” in it.
Closes gh-970
2016-02-19 09:08:55 +01:00
Juergen Hoeller
7fcb277de9
Consistent behavior for unwrap(null) on JPA and Bean Validation wrappers
...
Includes a fix for Query unwrapping before passing it to addNamedQuery.
Issue: SPR-13960
Issue: SPR-13957
2016-02-18 16:19:09 +01:00
Juergen Hoeller
ea4a766df7
Consistent support for SpEL next to placeholders in annotation attributes
...
Issue: SPR-13625
2016-02-17 23:00:07 +01:00
Juergen Hoeller
25be5e060c
TaskDecorator callback supported by common TaskExecutor implementations
...
Issue: SPR-13930
2016-02-17 16:58:02 +01:00
Juergen Hoeller
ac44f9edd9
Consistent equals implementations across class hierarchies
...
Issue: SPR-13951
2016-02-17 16:57:29 +01:00
Stephane Nicoll
513c1ea3d9
Update @author tag
2016-02-17 14:50:29 +01:00
Stephane Nicoll
37b3b24578
Polish contribution
...
Closes gh-957
2016-02-17 13:30:48 +01:00
soldierkam
c73e52412a
Decrease allocation rate for CacheOperation
2016-02-17 13:15:05 +01:00
Juergen Hoeller
5c87afc51d
Polishing
2016-02-16 22:28:46 +01:00
Juergen Hoeller
51c35bf81c
SpringValidatorAdapter exposes String attributes as MessageSourceResolvable
...
Issue: SPR-13406
2016-02-16 22:16:19 +01:00
Juergen Hoeller
b79e8a5cbc
Support for Common Annotations 1.1 Resource.lookup() attribute
...
Issue: SPR-13941
2016-02-12 17:41:10 +01:00
Juergen Hoeller
0dff782402
Fixed addProtocolResolver signature in ConfigurableApplicationContext
...
Issue: SPR-12857
Issue: SPR-13905
2016-02-11 22:47:41 +01:00
Juergen Hoeller
37de0b241d
ProtocolResolver SPI allows for custom resource resolution
...
Issue: SPR-12857
Issue: SPR-13905
2016-02-11 22:21:26 +01:00
Sam Brannen
26edc674ed
Polish Javadoc for resource-based MessageSources
2016-02-04 21:32:37 +01:00
Juergen Hoeller
f108deb114
(Reloadable)ResourceBundleMessageSource allows for adding resources
...
This turned into the extraction of a common AbstractResourceBasedMessageSource base class which not only features addBasenames but also getBasenameSet and setCacheMillis.
Issue: SPR-10314
2016-02-04 19:57:40 +01:00
Juergen Hoeller
a3a5a03ee3
PropertySource annotation allows for custom encoding
...
Issue: SPR-13874
2016-01-26 18:00:05 +01:00
Juergen Hoeller
4a0fa69ce4
Injection support for Collection/Map beans and self references
...
Issue: SPR-13585
Issue: SPR-12180
Issue: SPR-7915
Issue: SPR-8450
2016-01-25 21:25:48 +01:00
Juergen Hoeller
64ce8a81c3
Polishing
2016-01-25 20:33:48 +01:00
Juergen Hoeller
d18b3f049a
Tests for @Enable/@ComponentScan without @Configuration
...
Issue: SPR-10660
2016-01-25 20:32:45 +01:00