Sam Brannen
d8f650e3ca
Polishing
2022-05-10 12:18:45 +02:00
evgeny.bovykin
7cb6ac0a02
Make inner classes static when feasible (on main)
...
A static nested class does not keep an implicit reference to its
enclosing instance.
This prevents a common cause of memory leaks and uses less memory per
instance of the class.
Closes gh-28433
2022-05-10 11:45:18 +02:00
Sam Brannen
d45b5f6e8a
Merge branch '5.3.x'
...
# Conflicts:
# spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java
# spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java
2022-05-10 11:44:14 +02:00
Sam Brannen
1c10cdd1e8
Update copyright dates
...
See gh-28433
2022-05-10 11:33:32 +02:00
evgeny.bovykin
941b92cbed
Make inner classes static when feasible
...
A static nested class does not keep an implicit reference to its
enclosing instance.
This prevents a common cause of memory leaks and uses less memory per
instance of the class.
Closes gh-28433
2022-05-10 11:32:37 +02:00
Phillip Webb
3df3bc2aa0
Generate native hints for property values
...
Update `BeanDefinitionPropertiesCodeGenerator` so that hints are
generated for property values. This restores functionality that was
inadvertently removed during refactoring.
See gh-28414
2022-05-09 12:29:56 -07:00
Sam Brannen
91441ba653
Update copyright date
2022-05-09 20:27:32 +02:00
CharlieYu
432fce9db3
Polish Javadoc and inline comments
...
Closes gh-28426
2022-05-09 20:26:06 +02:00
Sam Brannen
5f8a4bcdc5
Merge branch '5.3.x'
...
# Conflicts:
# spring-context/src/main/java/org/springframework/jmx/export/MBeanExporter.java
# spring-context/src/main/java/org/springframework/scripting/support/StandardScriptFactory.java
2022-05-09 20:08:37 +02:00
rstoyanchev
8378af9e39
Polishing
...
See gh-28189
2022-05-09 19:01:10 +01:00
rstoyanchev
78ab4d7118
Support content negotiation for RFC 7807
...
Closes gh-28189
2022-05-09 18:32:21 +01:00
Sam Brannen
e26d8839b3
Stop referring to features as Java 6/7 features where unnecessary
2022-05-09 19:09:06 +02:00
Simon Baslé
f3fd8f9e1d
Update Reactor BOM to 2022.0.0-M2
...
Closes gh-28365
2022-05-09 17:14:17 +02:00
Sam Brannen
f7d032c924
Polish formatting
2022-05-09 15:31:53 +02:00
Sam Brannen
6c131ef9dc
Merge branch '5.3.x'
2022-05-09 15:23:15 +02:00
Sam Brannen
a1c7380398
Add test for value attribute in @ModelAttribute in WebFlux
...
This complements the previous commit which tested only the `name`
attribute.
See gh-28423
2022-05-09 15:22:22 +02:00
Maciej Walkowiak
2713f28c28
Fix typo in declarative HTTP interfaces docs
...
Closes gh-28431
2022-05-09 14:12:51 +02:00
rstoyanchev
d2b674391a
Add documentation for interface proxy client
...
Closes gh-28386
2022-05-09 09:52:15 +01:00
rstoyanchev
54d90aa6f5
Remove Remoting and EJB sections in reference docs
2022-05-09 09:52:15 +01:00
rstoyanchev
5d0f49c2c8
Add WebInputException subclasses
...
Closes gh-28142
2022-05-09 09:52:15 +01:00
evgeny.bovykin
06e1cc2f9b
Use Arrays.toString for initMethodNames and destroyMethodNames arrays in AbstractBeanDefinition#toString
2022-05-09 10:18:25 +02:00
Sam Brannen
061d1263f8
Merge branch '5.3.x'
2022-05-07 17:24:50 +02:00
Sam Brannen
7dd622bdb2
Support name attribute in @ModelAttribute in WebFlux
...
Prior to this commit, the `name` attribute in @ModelAttribute was not
supported when using WebFlux. This is because MethodParameter was used
instead of SynthesizingMethodParameter when retrieving the
@ModelAttribute annotation. In other words, @AliasFor was not honored
because the annotation was not synthesized. Consequently, only the
`value` attribute was supported in WebFlux when specifying a custom name
via @ModelAttribute.
This commit fixes this by using SynthesizingMethodParameter to retrieve
the @ModelAttribute annotation.
Closes gh-28423
2022-05-07 17:16:26 +02:00
Sam Brannen
9b1c8a3a5c
Fix broken ToStringVisitorTests
...
Tests were broken due to the switch to Set.of(...) in
2b65f274dc .
2022-05-07 16:45:46 +02:00
Sam Brannen
a69d9716c9
Merge branch '5.3.x'
2022-05-07 16:28:01 +02:00
Sam Brannen
64c96c579d
Polish contribution
...
See gh-28422
2022-05-07 16:18:47 +02:00
Carlos Bouzón García
39e3876301
Fix BindingResult error when ModelAttribute has custom name in WebFlux
...
Closes gh-28422
2022-05-07 16:18:04 +02:00
Phillip Webb
7700570253
Don't consider singleton instances when deducing bean class
...
Update `RegisteredBean` bean class detection to not consider
singletons. Prior to this commit, any beans that had been instantiated
could return the wrong class, especially if they were implemented using
a lambda.
See gh-28414
2022-05-06 09:53:37 -07:00
Juergen Hoeller
2b65f274dc
Use Set.of instead of HashSet with Arrays.asList
2022-05-06 16:19:27 +02:00
Juergen Hoeller
12357fdf44
Add byte[] to supported JMS message header types
...
Closes gh-28421
2022-05-06 16:14:15 +02:00
Juergen Hoeller
f8c4071f73
Introduce removeApplicationListener method at ApplicationContext level
...
Closes gh-14023
2022-05-06 16:14:04 +02:00
Sam Brannen
8627bef8d9
Polishing
2022-05-06 16:02:42 +02:00
Phillip Webb
16e7f1f212
Complete refactor of AOT concepts
...
Remove the AOT code that now has an alternative API.
Closes gh-28414
2022-05-05 13:34:52 -07:00
Phillip Webb
702207d9ee
Add updated ApplicationContextAotGenerator
...
Add `ApplicationContextAotGenerator` implementation that makes
use of the new AOT generation APIs.
See gh-28414
2022-05-05 13:25:37 -07:00
Phillip Webb
588d4d8776
Update scoped proxy AOT support
...
Add `ScopedProxyBeanRegistrationCodeGeneratorFactory` to supply custom
scoped proxy bean registration code.
See gh-28414
2022-05-05 13:25:37 -07:00
Phillip Webb
b677eb90f9
Update PersistenceAnnotationBeanPostProcessor AOT support
...
Update `PersistenceAnnotationBeanPostProcessor` so that it provides
AOT contributions via the `BeanRegistrationAotProcessor` interface.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
e4a8258fb2
Update ConfigurationClassPostProcessor AOT support
...
Update `ConfigurationClassPostProcessor` so that it provides AOT
contributions via the `BeanFactoryInitializationAotProcessor`
interface.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
7664a54c93
Update InitDestroyAnnotationBeanPostProcessor AOT support
...
Update `InitDestroyAnnotationBeanPostProcessor` so that it provides
AOT contributions via the `BeanRegistrationAotProcessor` interface.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
77c5a6f18d
Update AutowiredAnnotationBeanPostProcessor AOT support
...
Update `AutowiredAnnotationBeanPostProcessor` so that it provides
AOT contributions via the `BeanRegistrationAotProcessor` interface.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
4d87071f3a
Add AOT interfaces and classes to support bean factories
...
Add AOT processor and contribution interfaces and classes to
support the generation of code that can re-hydrate a bean
factory.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
c5c68a4662
Add MethodReference support
...
Add a `MethodReference` class which can be used to refer to a
static or instance method.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
1816c77c51
Add generation context interface
...
Add `GenerationContext` interface and `DefaultGenerationContext`
implementation as the central entry point for AOT processing.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
d5374550e5
Add support for generating classes
...
Add `ClassGenerator` and `GeneratedClass` which can be used to
generated classes that will ultimately be written to a `JavaFile`.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
55d7f7a014
Add support for generating methods
...
Add `GeneratedMethods` and `GeneratedMethod` support classes which
can be used during code generation to generation additional methods
that will ultimately be included in a `JavaFile`.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
16456342f5
Add support for generating method names
...
Add `MethodNameGenerator` to support generation of method names.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
ca2b5e068b
Add support for generating class names
...
Add `ClassNameGenerator` to support generation of class names.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
a605d3f6ed
Add AccessVisibility detection support
...
Add `AccessVisibility` enum which can be used to determine the
access visibility of `Member` or `ResolvableType`.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
9c12833e16
Add withFiles support to TestCompiler
...
Update `TestCompiler` so that `withFiles` can be used to quickly
configure the compiler with `InMemoryGeneratedFiles`.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
99173fbd4f
Add GeneratedFiles interface and support classes
...
Add a `GeneratedFiles` interface that can be used to add generated
source, class and resource files. An in-memory implementation is
provided for testing and a filesystem implementation is provided
to actually save the files to disk.
See gh-28414
2022-05-05 13:25:36 -07:00
Phillip Webb
f2cf78c525
Add programmatic autowiring support classes
...
Add resolver utilities that can be used to perform programmatic
autowiring of fields, methods, constructors and factory methods.
The resolvers are designed to work in an AOT environment and
allows the actual injection to be performed using functional
interfaces. This allows leaner images to be created since
`introspection` hints are required rather than full `invocation`
hints.
The resolvers also provide a reflection based fallback that can
used when the functional interface cannot work. For example, a
reflection based solution is required for private fields, methods
and constructors.
See gh-28414
2022-05-05 12:35:21 -07:00