首页
学习
活动
专区
工具
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>的功能了。

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

相关·内容

  • 类型_Haskell笔记3

    可以通过show函数把其它类型字符串 Read:与Show相反。可以通过read函数把字符串转到其它类型 Enum:可枚举,即连续的。...包括Float和Double 数字转换的话,大范围转小范围能够隐式完成(如NumFloat),小转大则需要通过fromIntegral :: (Num b, Integral a) => a -> b...比如派生自Eq后可以通过==和/=来比较值的相等性: data Mytype = Mytype Int String deriving (Show, Eq) > Mytype 3 "a" == Mytype...当然,要求参数也必须是Eq类成员,否则无法自动比较(如果不满足,就会抛个错出来) Show和Read也类似,用来完成字符串与值之间的互相转换: data Mytype = Mytype Int String...data Mytype = EmptyValue | Singleton | Mytype Int String deriving (Show, Eq, Read, Ord) > EmptyValue

    91340

    深入理解Struts2----类型转换

    这就是类型转换,从表单页面的String类型转换为LoginAction 中对应的属性的类型,但是这种自动转换并不是总是生效的,具体我们接着看。...二、Struts2内默认转换器      表单中所有输入的值都将作为String类型提交到相应的Action,至于如何将这些String类型转换为Action中的属性的类型是需要做一些判断的,Struts2...其支持的从String类型转换的目标类型如下: boolean和Boolean:字符串true会转换为布尔类型值true char和Character:字符串字符 int和Integer:字符串整型类型...long和Long:字符串长整型 float和Float:字符串单精度浮点型 double和Double:字符串双精度浮点型 Date:字符串日期类型,需要字符串满足一定的格式 数组:多个input...其实我们到这里可以看出来,使用ognl语法可以实现非基本类型的转换,实际上还是将问题转化到我们讨论的第一种情况,也就是把这么一个问题:如何将一个String类型转换为非基本类型,转化为了:如何把一个String

    2.1K90

    dotnet 数组自动基类数组提示 Co-variant array conversion 是什么问题

    在 C# 的语法,可以提供自动将某个类的数组自动这个类的基类数组的方法,但是这样的转换在 Resharper 会提示 Co-variant array conversion 这是什么问题?...如我可以使用下面的代码将 string 数组转换为 object 数组 string[] foo = new[] { "lindexi...= 10; 这个方法就是将这个数组定义的类尽可能底层这样就可以让数组加入继承定义的数组的类的 但是更多的是在 Linq 的时候使用,如我从一个 Foo 方法里面拿到了字符串数组,此时我需要将这个数组转换为...object 数组,那么也会有相同提示 object[] foo = new List { "lindexi...object 数组 object[] foo = new List { "lindexi",

    41820

    dotnet 数组自动基类数组提示 Co-variant array conversion 是什么问题

    在 C# 的语法,可以提供自动将某个类的数组自动这个类的基类数组的方法,但是这样的转换在 Resharper 会提示 Co-variant array conversion 这是什么问题?...如我可以使用下面的代码将 string 数组转换为 object 数组 string[] foo = new[] { "lindexi...= 10; 这个方法就是将这个数组定义的类尽可能底层这样就可以让数组加入继承定义的数组的类的 但是更多的是在 Linq 的时候使用,如我从一个 Foo 方法里面拿到了字符串数组,此时我需要将这个数组转换为...object 数组,那么也会有相同提示 object[] foo = new List { "lindexi...object 数组 object[] foo = new List { "lindexi",

    68330

    Spring问题研究之bean的属性xml注入List类型不匹配

    一、问题描述 今天在Java群里看到“白日梦想家” 的一个提问,很有意思: 为什么 String类型的列表 通过spring的属性注入 可以注入Integer类型的元素呢?...MutablePropertyValues是PropertyValues的默认实现 if (pvs instanceof MutablePropertyValues) { // 将pvs转换为...original : convertedCopy); } 其中此处为集合中每个元素进行转换(再次调用convertIfNecessary函数) 经过上面分析,我们知道List可以顺利注入到List...我们打条件断点回到之前的位置查看 走过如上代码后字符串类型的集合转成了整数集合   因此如果是可以转换的类型Spring会对属性进行转换,如果是无法转换将会报错。...另外我们如果将属性修改如下: 显然这里的字符串s无法转换为整型(字符串1 可以),会报错。

    2.2K10
    领券