TypeConverter customConverter = getCustomTypeConverter(); if (customConverter != null) { return customConverter; } else { // Build default TypeConverter, registering custom editors. SimpleTypeConverter typeConverter = new SimpleTypeConverter(); typeConverter.setConversionService(getConversionService()); registerCustomEditors(typeConverter); return typeConverter; }这段代码的作用
时间: 2024-04-27 16:25:21 浏览: 96
CustomTypeConverter3Strings_custom_源码
这段代码也是 Spring Framework 中的关键代码之一,它的作用是获取类型转换器(TypeConverter),如果存在自定义的类型转换器,则返回自定义的类型转换器;否则,构建一个默认的类型转换器(SimpleTypeConverter),并注册自定义的类型编辑器(CustomEditor)。
具体实现逻辑如下:
1. 调用 `getCustomTypeConverter()` 方法获取自定义的类型转换器,如果存在自定义的类型转换器,则直接返回。
2. 如果不存在自定义的类型转换器,则创建一个 `SimpleTypeConverter` 实例,并设置其转换服务(ConversionService)为当前 Bean 工厂中的转换服务。
3. 调用 `registerCustomEditors()` 方法注册自定义的类型编辑器,这里的自定义类型编辑器是通过调用 `CustomEditorConfigurer` Bean 实例的 `setCustomEditors()` 方法设置的。
4. 最终返回的类型转换器就是通过以上步骤创建并配置好的类型转换器,它可以将字符串或其他数据类型转换为目标类型,用于实现 Spring 中的类型转换功能。
阅读全文