В XML конфигурации бин conversionService обычно описывается примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="ru.urvanov.virtualpets.server.convserv.PetTypeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.PetTypeSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.RoleServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.RoleSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.FoodTypeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.FoodTypeSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.ClothTypeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.ClothTypeSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.SexServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.SexSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.BuildingMaterialTypeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.BuildingMaterialTypeSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.DrinkTypeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.DrinkTypeSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.JournalEntryTypeSharedToServerConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.JournalEntryTypeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.AchievementCodeServerToSharedConverter" /> <bean class="ru.urvanov.virtualpets.server.convserv.AchievementCodeSharedToServerConverter" /> </set> </property> </bean> |
Для Java-конфигурации, которая обычно и используется в Spring Boot для создания аналогичного бина conversionService необходимо унаследовать класс конфигурации от интерфейса WebMvcConfigurer и переопределить метод addFormatters(FormatterRegistry registry):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; //... @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addFormatters(FormatterRegistry registry) { registry.addConverter(new PetTypeServerToSharedConverter()); registry.addConverter(new PetTypeSharedToServerConverter()); registry.addConverter(new RoleServerToSharedConverter()); registry.addConverter(new RoleSharedToServerConverter()); registry.addConverter(new FoodTypeServerToSharedConverter()); registry.addConverter(new FoodTypeSharedToServerConverter()); registry.addConverter(new ClothTypeServerToSharedConverter()); registry.addConverter(new ClothTypeSharedToServerConverter()); registry.addConverter(new SexServerToSharedConverter()); registry.addConverter(new SexSharedToServerConverter()); registry.addConverter(new BuildingMaterialTypeServerToSharedConverter()); registry.addConverter(new BuildingMaterialTypeSharedToServerConverter()); registry.addConverter(new DrinkTypeServerToSharedConverter()); registry.addConverter(new DrinkTypeSharedToServerConverter()); registry.addConverter(new JournalEntryTypeSharedToServerConverter()); registry.addConverter(new JournalEntryTypeServerToSharedConverter()); registry.addConverter(new AchievementCodeServerToSharedConverter()); registry.addConverter(new AchievementCodeSharedToServerConverter()); } } |