首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Conversion Service:如何将String转换为List <MyType>?

在Spring框架中,可以使用ConversionService来实现String转换为List <MyType>的功能。以下是一个完整的示例:

  1. 首先,需要在Spring配置文件中配置ConversionService。
代码语言:java
复制
@Configuration
public class AppConfig {

    @Bean
    public ConversionService conversionService() {
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
        conversionService.addConverter(new StringToMyTypeListConverter());
        return conversionService;
    }
}
  1. 接下来,创建一个自定义的String到List <MyType>的转换器。
代码语言:java
复制
public class StringToMyTypeListConverter implements Converter<String, List<MyType>> {

    @Override
    public List<MyType> convert(String source) {
        if (StringUtils.isEmpty(source)) {
            return Collections.emptyList();
        }

        String[] sourceArray = source.split(",");
        List<MyType> targetList = new ArrayList<>(sourceArray.length);

        for (String sourceElement : sourceArray) {
            MyType targetElement = new MyType();
            // 在这里进行MyType对象的属性设置,例如:
            targetElement.setProperty(sourceElement.trim());
            targetList.add(targetElement);
        }

        return targetList;
    }
}
  1. 在需要使用String转换为List <MyType>的地方,注入ConversionService,并调用convert方法进行转换。
代码语言:java
复制
@Service
public class MyService {

    @Autowired
    private ConversionService conversionService;

    public List<MyType> convertStringToMyTypeList(String source) {
        return conversionService.convert(source, List.class);
    }
}
  1. 最后,在需要使用该功能的地方调用MyService的convertStringToMyTypeList方法即可。
代码语言:java
复制
@RestController
public class MyController {

    @Autowired
    private MyService myService;

    @GetMapping("/convert")
    public List<MyType> convert(@RequestParam("source") String source) {
        return myService.convertStringToMyTypeList(source);
    }
}

这样,就可以实现String转换为List <MyType>的功能了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券