Commit Graph

761 Commits

Author SHA1 Message Date
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
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
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
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
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
6853d50ddb Polishing 2019-03-03 16:29:49 +01:00
Sam Brannen
02be21d0dc Polishing 2019-03-02 14:22:28 +01:00
Juergen Hoeller
7a7c7f51e3 Polishing 2019-02-28 15:37:47 +01:00
Juergen Hoeller
0288878bcc Consistent handling of early FactoryBean instantiation failures
Closes gh-22409
2019-02-27 17:26:35 +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
Juergen Hoeller
8637540678 Expose empty annotation array as empty AnnotationAttributes array
Closes gh-22405
2019-02-12 09:07:51 +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
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
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
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
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
dc1e3b4628 Exclude FactoryBean implementation methods on CGLIB proxies as well
Issue: SPR-17374
2018-10-27 14:36:56 +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
Juergen Hoeller
c89e3e6e0d Restore original factory method caching (addressing Boot regressions)
Issue: SPR-17358
2018-10-10 23:53:13 +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
b6b880ce27 Polishing 2018-09-19 23:05:40 +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
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
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
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
Juergen Hoeller
1d59e52f11 EventListenerMethodProcessor accepts internal configuration classes
Issue: SPR-17160
2018-08-18 12:05:39 +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
Sam Brannen
aebbd949a8 Suppress deprecation warnings in AnnotationProcessorPerformanceTests 2018-08-13 12:35:19 +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
20f2e23bfb Polishing 2018-08-09 23:57:25 +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
Kazuhiro Sera
be211ceead Fix typos detected by github.com/client9/misspell 2018-08-08 12:50:46 +02:00
Juergen Hoeller
1fd6248d84 Polishing 2018-07-27 17:46:21 +02:00