You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
cb9cd2720c
1.0.x
1.1.x
1.2.x
1.3.x
1.4.x
1.5.x
2.0.x
2.1.x
2.2.x
2.3.x
2.4.x
2.5.x
2.6.x
2.7.x
3.0.x
3.1.x
3.2.x
3.3.x
3.4.x
3.5.x
4.0.x
docs-build
main
temp/gradle-windows-problem
v0.5.0.M1
v0.5.0.M2
v0.5.0.M3
v0.5.0.M4
v0.5.0.M5
v0.5.0.M6
v0.5.0.M7
v1.0.0.RC1
v1.0.0.RC2
v1.0.0.RC3
v1.0.0.RC4
v1.0.0.RC5
v1.0.0.RELEASE
v1.0.1.RELEASE
v1.0.2.RELEASE
v1.1.0.M1
v1.1.0.M2
v1.1.0.RC1
v1.1.0.RELEASE
v1.1.1.RELEASE
v1.1.10.RELEASE
v1.1.11.RELEASE
v1.1.12.RELEASE
v1.1.2.RELEASE
v1.1.3.RELEASE
v1.1.4.RELEASE
v1.1.5.RELEASE
v1.1.6.RELEASE
v1.1.7.RELEASE
v1.1.8.RELEASE
v1.1.9.RELEASE
v1.2.0.M1
v1.2.0.M2
v1.2.0.RC1
v1.2.0.RC2
v1.2.0.RELEASE
v1.2.1.RELEASE
v1.2.2.RELEASE
v1.2.3.RELEASE
v1.2.4.RELEASE
v1.2.5.RELEASE
v1.2.6.RELEASE
v1.2.7.RELEASE
v1.2.8.RELEASE
v1.3.0.M1
v1.3.0.M2
v1.3.0.M3
v1.3.0.M4
v1.3.0.M5
v1.3.0.RC1
v1.3.0.RELEASE
v1.3.1.RELEASE
v1.3.2.RELEASE
v1.3.3.RELEASE
v1.3.4.RELEASE
v1.3.5.RELEASE
v1.3.6.RELEASE
v1.3.7.RELEASE
v1.3.8.RELEASE
v1.4.0.M1
v1.4.0.M2
v1.4.0.M3
v1.4.0.RC1
v1.4.0.RELEASE
v1.4.1.RELEASE
v1.4.2.RELEASE
v1.4.3.RELEASE
v1.4.4.RELEASE
v1.4.5.RELEASE
v1.4.6.RELEASE
v1.4.7.RELEASE
v1.5.0.RC1
v1.5.0.RELEASE
v1.5.1.RELEASE
v1.5.10.RELEASE
v1.5.11.RELEASE
v1.5.12.RELEASE
v1.5.13.RELEASE
v1.5.14.RELEASE
v1.5.15.RELEASE
v1.5.16.RELEASE
v1.5.17.RELEASE
v1.5.18.RELEASE
v1.5.19.RELEASE
v1.5.2.RELEASE
v1.5.20.RELEASE
v1.5.21.RELEASE
v1.5.22.RELEASE
v1.5.3.RELEASE
v1.5.4.RELEASE
v1.5.5.RELEASE
v1.5.6.RELEASE
v1.5.7.RELEASE
v1.5.8.RELEASE
v1.5.9.RELEASE
v2.0.0.M1
v2.0.0.M2
v2.0.0.M3
v2.0.0.M4
v2.0.0.M5
v2.0.0.M6
v2.0.0.M7
v2.0.0.RC1
v2.0.0.RC2
v2.0.0.RELEASE
v2.0.1.RELEASE
v2.0.2.RELEASE
v2.0.3.RELEASE
v2.0.4.RELEASE
v2.0.5.RELEASE
v2.0.6.RELEASE
v2.0.7.RELEASE
v2.0.8.RELEASE
v2.0.9.RELEASE
v2.1.0.M1
v2.1.0.M2
v2.1.0.M3
v2.1.0.M4
v2.1.0.RC1
v2.1.0.RELEASE
v2.1.1.RELEASE
v2.1.10.RELEASE
v2.1.11.RELEASE
v2.1.12.RELEASE
v2.1.13.RELEASE
v2.1.14.RELEASE
v2.1.15.RELEASE
v2.1.16.RELEASE
v2.1.17.RELEASE
v2.1.18.RELEASE
v2.1.2.RELEASE
v2.1.3.RELEASE
v2.1.4.RELEASE
v2.1.5.RELEASE
v2.1.6.RELEASE
v2.1.7.RELEASE
v2.1.8.RELEASE
v2.1.9.RELEASE
v2.2.0.M1
v2.2.0.M2
v2.2.0.M3
v2.2.0.M4
v2.2.0.M5
v2.2.0.M6
v2.2.0.RC1
v2.2.0.RELEASE
v2.2.1.RELEASE
v2.2.10.RELEASE
v2.2.11.RELEASE
v2.2.12.RELEASE
v2.2.13.RELEASE
v2.2.2.RELEASE
v2.2.3.RELEASE
v2.2.4.RELEASE
v2.2.5.RELEASE
v2.2.6.RELEASE
v2.2.7.RELEASE
v2.2.8.RELEASE
v2.2.9.RELEASE
v2.3.0.M1
v2.3.0.M2
v2.3.0.M3
v2.3.0.M4
v2.3.0.RC1
v2.3.0.RELEASE
v2.3.1.RELEASE
v2.3.10.RELEASE
v2.3.11.RELEASE
v2.3.12.RELEASE
v2.3.2.RELEASE
v2.3.3.RELEASE
v2.3.4.RELEASE
v2.3.5.RELEASE
v2.3.6.RELEASE
v2.3.7.RELEASE
v2.3.8.RELEASE
v2.3.9.RELEASE
v2.4.0
v2.4.0-M1
v2.4.0-M2
v2.4.0-M3
v2.4.0-M4
v2.4.0-RC1
v2.4.1
v2.4.10
v2.4.11
v2.4.12
v2.4.13
v2.4.2
v2.4.3
v2.4.4
v2.4.5
v2.4.6
v2.4.7
v2.4.8
v2.4.9
v2.5.0
v2.5.0-M1
v2.5.0-M2
v2.5.0-M3
v2.5.0-RC1
v2.5.1
v2.5.10
v2.5.11
v2.5.12
v2.5.13
v2.5.14
v2.5.15
v2.5.2
v2.5.3
v2.5.4
v2.5.5
v2.5.6
v2.5.7
v2.5.8
v2.5.9
v2.6.0
v2.6.0-M1
v2.6.0-M2
v2.6.0-M3
v2.6.0-RC1
v2.6.1
v2.6.10
v2.6.11
v2.6.12
v2.6.13
v2.6.14
v2.6.15
v2.6.2
v2.6.3
v2.6.4
v2.6.5
v2.6.6
v2.6.7
v2.6.8
v2.6.9
v2.7.0
v2.7.0-M1
v2.7.0-M2
v2.7.0-M3
v2.7.0-RC1
v2.7.1
v2.7.10
v2.7.11
v2.7.12
v2.7.13
v2.7.14
v2.7.15
v2.7.16
v2.7.17
v2.7.18
v2.7.2
v2.7.3
v2.7.4
v2.7.5
v2.7.6
v2.7.7
v2.7.8
v2.7.9
v3.0.0
v3.0.0-M1
v3.0.0-M2
v3.0.0-M3
v3.0.0-M4
v3.0.0-M5
v3.0.0-RC1
v3.0.0-RC2
v3.0.1
v3.0.10
v3.0.11
v3.0.12
v3.0.13
v3.0.2
v3.0.3
v3.0.4
v3.0.5
v3.0.6
v3.0.7
v3.0.8
v3.0.9
v3.1.0
v3.1.0-M1
v3.1.0-M2
v3.1.0-RC1
v3.1.0-RC2
v3.1.1
v3.1.10
v3.1.11
v3.1.12
v3.1.2
v3.1.3
v3.1.4
v3.1.5
v3.1.6
v3.1.7
v3.1.8
v3.1.9
v3.2.0
v3.2.0-M1
v3.2.0-M2
v3.2.0-M3
v3.2.0-RC1
v3.2.0-RC2
v3.2.1
v3.2.10
v3.2.11
v3.2.12
v3.2.2
v3.2.3
v3.2.4
v3.2.5
v3.2.6
v3.2.7
v3.2.8
v3.2.9
v3.3.0
v3.3.0-M1
v3.3.0-M2
v3.3.0-M3
v3.3.0-RC1
v3.3.1
v3.3.10
v3.3.11
v3.3.12
v3.3.13
v3.3.2
v3.3.3
v3.3.4
v3.3.5
v3.3.6
v3.3.7
v3.3.8
v3.3.9
v3.4.0
v3.4.0-M1
v3.4.0-M2
v3.4.0-M3
v3.4.0-RC1
v3.4.1
v3.4.10
v3.4.11
v3.4.12
v3.4.13
v3.4.2
v3.4.3
v3.4.4
v3.4.5
v3.4.6
v3.4.7
v3.4.8
v3.4.9
v3.5.0
v3.5.0-M1
v3.5.0-M2
v3.5.0-M3
v3.5.0-RC1
v3.5.1
v3.5.10
v3.5.2
v3.5.3
v3.5.4
v3.5.5
v3.5.6
v3.5.7
v3.5.8
v3.5.9
v4.0.0
v4.0.0-M1
v4.0.0-M2
v4.0.0-M3
v4.0.0-RC1
v4.0.0-RC2
v4.0.1
v4.0.2
v4.1.0-M1
${ noResults }
spring-boot/spring-boot-autoconfigure
In an MVC web application, DelegatingWebMvcConfiguration provides the ConversionService while also consuming WebMvcConfigurerAdapters that, among other things, can configure HTTP message converters. Boot's WebMvcConfigurerAdapter, WebMvcAutoConfigurationAdapter, consumes the HttpMessageConverters bean and uses it to configure Spring MVC's HTTP message converters. This can create a bean dependency cycle if an HTTP message converter bean depends, directly or indirectly on the ConversionService. An example of the cycle is: ┌─────┐ | jsonComponentConversionServiceCycle.ThingDeserializer defined in … ↑ ↓ | org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$EnableWebMvcConfiguration ↑ ↓ | org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter ↑ ↓ | org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration ↑ ↓ | mappingJackson2HttpMessageConverter defined in class path resource [org/springframework/boot/autoconfigure/web/JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration.class] ↑ ↓ | jacksonObjectMapper defined in class path resource [org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperConfiguration.class] └─────┘ This commit breaks the cycle by making WebMvcAutoConfigurationAdapter consume HttpMessageConverters lazily. This allows the adapter to be created without triggered instantiation of every HTTP message converter bean and all their dependencies. This allows it to be injected into DelegatingWebMvcConfiguration without triggering an attempt to retrieve the ConversionService. Closes gh-9409 |
9 years ago | |
|---|---|---|
| .. | ||
| src | Allow HttpMsgConverter to depend on ConvService without creating a cycle | 9 years ago |
| pom.xml | Next Development Version | 9 years ago |