Commit Graph

4684 Commits

Author SHA1 Message Date
Moritz Halbritter
5401327e4d Polish "Add missing attributes to ServletRegistration annotation"
See gh-45007
2025-04-10 14:46:48 +02:00
Dmytro Danilenkov
d0128071ec Add missing attributes to ServletRegistration annotation
See gh-45007

Signed-off-by: Dmytro Danilenkov <milgoff@gmail.com>
2025-04-10 14:40:36 +02:00
Moritz Halbritter
65de53066d Polish "Add missing attributes to FilterRegistration annotation"
See gh-45005
2025-04-10 12:22:01 +02:00
Daeho Kwon
17d579f374 Add missing attributes to FilterRegistration annotation
See gh-45005
2025-04-10 12:22:01 +02:00
Phillip Webb
2147c2650c Merge branch '3.4.x' 2025-04-09 14:51:36 -07:00
Phillip Webb
bcda6aeb65 Merge branch '3.3.x' into 3.4.x 2025-04-09 14:51:31 -07:00
Phillip Webb
4af0ee20d1 Work around Spring Framework cache pollution bug
Update `SpringApplication` to work around `SpringFactoriesLoader`
cache pollution by loading factories using a `null` class loader.

See https://github.com/spring-projects/spring-framework/pull/34732
for details.
2025-04-09 14:51:17 -07:00
DimaVilda
31daa0f0d6 Remove unnecessary excludes on javax.xml.bind:jaxb-api
See gh-45025

Signed-off-by: DimaVilda <dimavilda@gmail.com>
2025-04-08 11:42:34 -07:00
Moritz Halbritter
62e145e7fd Add test for dispatcher types behavior
See gh-16500
2025-04-08 10:45:34 +02:00
Phillip Webb
417a4a0386 Use bean class loader when detecting ClientHttpRequestFactoryBuilder
Update `ClientHttpRequestFactoryBuilder` with a detect method that
accepts a specific classloader and update `HttpClientAutoConfiguration`
to use it.

Fixes gh-44986
2025-04-07 18:48:45 -07:00
Phillip Webb
57a5fb075d Polish 2025-04-07 16:57:45 -07:00
Johnny Lim
8f4fd43320 Add Javadoc since for GarbageCollectorInfo
See gh-44980

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-04-07 09:42:33 +02:00
Tran Ngoc Nhan
28bbb3ee10 Remove RECORD_COMPONENT target from @DefaultValue
See gh-44984

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-04-07 08:41:17 +02:00
Moritz Halbritter
c179fed3b4 Add annotation for registering Servlets and Filters
@ServletRegistration and @FilterRegistration can be used as an
annotation-based alternative to ServletRegistrationBean and
FilterRegistrationBean.

Closes gh-16500
2025-04-04 09:57:52 +02:00
Andy Wilkinson
740fe4b28b Merge branch '3.4.x'
Closes gh-44996
2025-04-04 08:53:42 +01:00
Andy Wilkinson
617f3d525f Merge branch '3.3.x' into 3.4.x
Closes gh-44995
2025-04-04 08:52:45 +01:00
Andy Wilkinson
cae3a92ead Fix NPE with Hikari when DatabaseDriver has null driverClassName
Fixes gh-44994
2025-04-04 08:38:27 +01:00
Phillip Webb
fc9937d05a Merge branch '3.3.x' into 3.4.x 2025-04-03 18:06:33 -07:00
Phillip Webb
88e8c17369 Update copyright year of changed files 2025-04-03 18:06:14 -07:00
Phillip Webb
bc91c35644 Merge branch '3.4.x'
Closes gh-44993
2025-04-03 18:05:13 -07:00
Phillip Webb
c96835bc9d Merge branch '3.3.x' into 3.4.x
Closes gh-44992
2025-04-03 18:02:57 -07:00
Phillip Webb
983e7b637b Introduce ClientHttpConnectorBuilder support
Add a new `ClientHttpConnectorBuilder` interface to support the
creation of `ClientHttpConnector` instances. The new code is similar
to the `ClientHttpRequestFactoryBuilder` interface that was added to
Spring Boot 3.4.

The `ClientHttpConnectorBuilder` is a functional interface with
additional static factory methods for the various supported
`ClientHttpConnector` types. Each type has it's own builder
which to support client specific customization.

The previous auto-configuration has been relocated to the
`org.springframework.boot.autoconfigure.http.client.reactive`
package and updated to make use of the builder.

Closes gh-43079
2025-04-03 17:05:12 -07:00
Andy Wilkinson
b8e4ec3dc4 Merge branch '3.4.x'
Closes gh-44973
2025-04-02 10:41:33 +01:00
Andy Wilkinson
6ad48639c2 Back port 246c4a2 to 3.3.x
The changes do not apply cleanly when cherry-picked so they
have been redone manually.

Closes gh-44941
2025-03-28 16:48:50 +00:00
Andy Wilkinson
e5a05ec7da Merge branch '3.4.x'
Closes gh-44923
2025-03-27 20:00:22 +00:00
Andy Wilkinson
6fde9dc49b Merge branch '3.3.x' into 3.4.x
Closes gh-44922
2025-03-27 20:00:05 +00:00
Andy Wilkinson
7b29e6535d Move ErrorAttributesOptionsTests to correct package
Closes gh-44920
2025-03-27 19:52:44 +00:00
Phillip Webb
93113a415f Improve performance by not checking all indexed elements
Update `IndexedElementsBinder` so that bind operations are faster at
the expense of not checking that all elements have been bound. The
updated code now uses a window of 10 elements and assumes that if
no elements are missing from that window then exhaustive checking is
not required.

Closes gh-44867
2025-03-24 22:47:30 -07:00
Phillip Webb
9c25b69c06 Improve performance of MapBinder by calculating items only once
Closes gh-44868
2025-03-24 22:47:30 -07:00
Phillip Webb
859d074764 Replace streams on hot paths with for loops
Replace a few usages of stream with simple for loops. Although
this doesn't seem to make much difference to performance, it does
help when profiling applications since it reduces the stack
depth.
2025-03-24 13:45:14 -07:00
Phillip Webb
83725f8080 Add containsDescendantOfCache for system property source
Add a simple cache that is used for the system environment property
source to cache `containsDescendantOf` results since descendants
cannot be used due to the more complicated algorithm.

Closes gh-44863
2025-03-24 13:44:58 -07:00
Phillip Webb
d9d206a761 Bypass SystemEnvironmentPropertySource.resolvePropertyName
Update `ConfigurationPropertySource` adapters so accessing the
`SystemEnvironmentPropertySource` is handled by directly calling
the source.

This saves potentially expensive calls to `resolvePropertyName`
which are unnecessary since mappings are handled directly.

Closes gh-44862
2025-03-24 13:44:49 -07:00
Phillip Webb
54afa69ba5 Add Binder cache and use in JavaBeanBinder and ValueObjectBinder
Introduce a general purpose cache in the `Binder` and make use of it
in `JavaBeanBinder` and `ValueObjectBinder` to reuse potentially
expensive operations.

Closes gh-44861
2025-03-24 13:44:47 -07:00
Phillip Webb
189d84d49d Add ConfigurationPropertyCaching override support
Add `ConfigurationPropertyCaching.override()` method which can be
used to temporarily enable caching for the duration of an
operation.

The `Binder` now uses this method to ensure that caching is
enabled whilst a set of related binding operations are performed.

Closes gh-44860
2025-03-24 13:44:35 -07:00
Phillip Webb
ca9c3ed96d Mark SystemEnvironmentPropertySource as immutable
Update `SystemEnvironmentPropertySourceEnvironmentPostProcessor` so
that our origin aware subclass is marked as immutable. This aligns
with the behavior we had before introducing origin tracking, which
assumes that environment variables changes made after the application
starts are not re-bound.

Closes gh-44859
2025-03-24 13:44:23 -07:00
Phillip Webb
ae6908e4d8 Cache property mappings in ConfigurationPropertyName
Relocate `SystemEnvironmentPropertyMapper` methods into
`ConfigurationPropertyName` so that they can be cached to
improve performance

Closes gh-44858
2025-03-24 13:44:10 -07:00
Phillip Webb
81dee54137 Improve ConfigurationPropertyName equals/hashCode performance
Update `ConfigurationPropertyName` to improve performance of
the `equals(...)` and `hashCode()` methods by making the
following changes:

  - Move element hashCode logic to Element and cache the results
  - Exit the equals method early if hashcodes don't match
  - Exit the equals method early if toString() values match

Closes gh-44857
2025-03-24 13:43:53 -07:00
Phillip Webb
64318336c4 Polish SpringIterableConfigurationPropertySource 2025-03-24 13:43:49 -07:00
Phillip Webb
730b049c80 Mark ApplicationInfoPropertySource as immutable
Update `ApplicationInfoPropertySource` to indicate it is immutable and
is safe to have mappings cached.

Closes gh-44856
2025-03-24 13:43:37 -07:00
Phillip Webb
1257f817c8 Merge branch '3.4.x' 2025-03-24 13:40:18 -07:00
Phillip Webb
bfa11e3161 Merge branch '3.3.x' into 3.4.x 2025-03-24 13:40:11 -07:00
Phillip Webb
587ec6d8d4 Fix incorrect ConfigurationPropertyName javadoc 2025-03-24 13:39:43 -07:00
Stéphane Nicoll
07f8c47b59 Merge branch '3.4.x'
Closes gh-44827
2025-03-21 08:09:10 +01:00
Stéphane Nicoll
3460c0d19f Merge branch '3.3.x' into 3.4.x
Closes gh-44826
2025-03-21 08:09:01 +01:00
Stéphane Nicoll
28f8e3812b Fix code format
See gh-44787
2025-03-21 08:01:06 +01:00
Michael Yan
78b9eca670 Polish javadoc of SpringProfileAction
See gh-44787

Signed-off-by: Michael Yan <rain@rainboyan.com>
2025-03-21 07:59:35 +01:00
Stéphane Nicoll
c2e4793b05 Merge branch '3.3.x' into 3.4.x
Closes gh-44823
2025-03-21 07:57:16 +01:00
Michael Yan
45a99f9e5a Remove extra whitespace in logback defaults.xml
See gh-44786

Signed-off-by: Michael Yan <rain@rainboyan.com>
2025-03-21 07:55:14 +01:00
Andy Wilkinson
6367074829 Polish "Add support for omitting SameSite attribute from session cookie"
See gh-44714
2025-03-20 12:52:01 +00:00
Filip Hrisafov
ccbc4f91ec Add support for omitting SameSite attribute from session cookie
See gh-44714

Signed-off-by: Filip Hrisafov <filip.hrisafov@gmail.com>
2025-03-20 12:44:05 +00:00