17
17
18
18
import java .util .List ;
19
19
20
- import org .slf4j .Logger ;
21
- import org .slf4j .LoggerFactory ;
22
20
import org .springframework .beans .factory .annotation .Autowired ;
23
- import org .springframework .beans . factory . annotation . Qualifier ;
21
+ import org .springframework .context . ApplicationContext ;
24
22
import org .springframework .context .annotation .Bean ;
25
23
import org .springframework .context .annotation .Configuration ;
26
24
import org .springframework .data .repository .support .DomainClassConverter ;
27
25
import org .springframework .data .web .PageableHandlerMethodArgumentResolver ;
28
26
import org .springframework .data .web .SortHandlerMethodArgumentResolver ;
27
+ import org .springframework .format .FormatterRegistry ;
29
28
import org .springframework .format .support .FormattingConversionService ;
30
29
import org .springframework .web .method .support .HandlerMethodArgumentResolver ;
31
30
import org .springframework .web .servlet .config .annotation .WebMvcConfigurerAdapter ;
40
39
@ Configuration
41
40
class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
42
41
43
- private static final Logger LOGGER = LoggerFactory .getLogger (SpringDataWebConfiguration .class );
44
-
45
- @ Autowired (required = false )
46
- @ Qualifier ("mvcConversionService" )
47
- FormattingConversionService conversionService ;
42
+ @ Autowired
43
+ private ApplicationContext context ;
48
44
49
45
@ Bean
50
46
public PageableHandlerMethodArgumentResolver pageableResolver () {
@@ -56,18 +52,25 @@ public SortHandlerMethodArgumentResolver sortResolver() {
56
52
return new SortHandlerMethodArgumentResolver ();
57
53
}
58
54
59
- @ Bean
60
- public DomainClassConverter <FormattingConversionService > mvcDomainClassConverter () {
55
+ /*
56
+ * (non-Javadoc)
57
+ * @see org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter#addFormatters(org.springframework.format.FormatterRegistry)
58
+ */
59
+ @ Override
60
+ public void addFormatters (FormatterRegistry registry ) {
61
61
62
- if (conversionService == null ) {
62
+ if (!(registry instanceof FormattingConversionService )) {
63
+ return ;
64
+ }
63
65
64
- LOGGER . warn ( "No default Spring MVC FormattingConversionService registered! Have you forgotten to "
65
- + "use @EnableWebMvc or register a configuration class extending WebMvcConfigurationSupport?" );
66
+ registerDomainClassConverterFor (( FormattingConversionService ) registry );
67
+ }
66
68
67
- return null ;
68
- }
69
+ private void registerDomainClassConverterFor (FormattingConversionService conversionService ) {
69
70
70
- return new DomainClassConverter <FormattingConversionService >(conversionService );
71
+ DomainClassConverter <FormattingConversionService > converter = new DomainClassConverter <FormattingConversionService >(
72
+ conversionService );
73
+ converter .setApplicationContext (context );
71
74
}
72
75
73
76
/*
0 commit comments