java-Spring内置了哪些属性类型转换器?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Spring内置了哪些属性类型转换器?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5919字,纯文字阅读大概需要9分钟。
内容图文
Spring框架方法PropertyResolver.getProperty(String key, Class targetType)中targetType参数支持的值是什么?我正在寻找默认支持的类型列表.
以下类型显然可以工作:
> Locale.class
> int.class
> File.class
> URI.class
例:
// works
Locale myLocale = propertyResolver.getProperty("my.locale", Locale.class);
我找到了这个清单:
http://www.logicbig.com/how-to/spring-framework/spring-converters-list/
但是它没有列出文件或URI,因此它似乎并不完整.另外,我希望使用官方文档.
我也没有在reference documentation chapter on type conversion中找到任何东西.
解决方法:
我尝试了以下方法来解决:
在我的context.xml中定义一个bean
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"/>
然后我做:
public static void main(String[] args) {
try (ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("classpath:context.xml")) {
ConversionService service = context.getBean(ConversionService.class);
System.out.println(service);
}
}
我得到
ConversionService converters =
java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@520a3426
java.lang.Character -> java.lang.Number : org.springframework.core.convert.support.CharacterToNumberFactory@6b09bb57
java.lang.Character -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@5f9d02cb
java.lang.Enum -> java.lang.String : org.springframework.core.convert.support.EnumToStringConverter@3e9b1010
java.lang.Number -> java.lang.Character : org.springframework.core.convert.support.NumberToCharacterConverter@63753b6d
java.lang.Number -> java.lang.Number : org.springframework.core.convert.support.NumberToNumberConverterFactory@527740a2
java.lang.Number -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@3108bc
java.lang.String -> java.lang.Boolean : org.springframework.core.convert.support.StringToBooleanConverter@6536e911
java.lang.String -> java.lang.Character : org.springframework.core.convert.support.StringToCharacterConverter@370736d9
java.lang.String -> java.lang.Enum : org.springframework.core.convert.support.StringToEnumConverterFactory@18eed359
java.lang.String -> java.lang.Number : org.springframework.core.convert.support.StringToNumberConverterFactory@13a5fe33
java.lang.String -> java.nio.charset.Charset : org.springframework.core.convert.support.StringToCharsetConverter@185d8b6
java.lang.String -> java.util.Currency : org.springframework.core.convert.support.StringToCurrencyConverter@335eadca
java.lang.String -> java.util.Locale : org.springframework.core.convert.support.StringToLocaleConverter@6c3708b3
java.lang.String -> java.util.Properties : org.springframework.core.convert.support.StringToPropertiesConverter@eec5a4a
java.lang.String -> java.util.TimeZone : org.springframework.core.convert.support.StringToTimeZoneConverter@61f8bee4
java.lang.String -> java.util.UUID : org.springframework.core.convert.support.StringToUUIDConverter@6ddf90b0
java.nio.charset.Charset -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@67784306
java.time.ZoneId -> java.util.TimeZone : org.springframework.core.convert.support.ZoneIdToTimeZoneConverter@7b49cea0
java.time.ZonedDateTime -> java.util.Calendar : org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter@887af79
java.util.Currency -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@210366b4
java.util.Locale -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@6f1fba17
java.util.Properties -> java.lang.String : org.springframework.core.convert.support.PropertiesToStringConverter@2b2948e2
java.util.UUID -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@57536d79
org.springframework.core.convert.support.ArrayToArrayConverter@4b4523f8
org.springframework.core.convert.support.ArrayToCollectionConverter@3b0143d3
org.springframework.core.convert.support.ArrayToObjectConverter@7791a895
org.springframework.core.convert.support.ArrayToStringConverter@1f28c152
org.springframework.core.convert.support.ByteBufferConverter@4f970963
org.springframework.core.convert.support.ByteBufferConverter@4f970963
org.springframework.core.convert.support.ByteBufferConverter@4f970963
org.springframework.core.convert.support.ByteBufferConverter@4f970963
org.springframework.core.convert.support.CollectionToArrayConverter@5a8e6209
org.springframework.core.convert.support.CollectionToCollectionConverter@731a74c
org.springframework.core.convert.support.CollectionToObjectConverter@67b92f0a
org.springframework.core.convert.support.CollectionToStringConverter@6325a3ee
org.springframework.core.convert.support.FallbackObjectToStringConverter@6e0e048a
org.springframework.core.convert.support.IdToEntityConverter@7fac631b,org.springframework.core.convert.support.ObjectToObjectConverter@5b87ed94
org.springframework.core.convert.support.MapToMapConverter@369f73a2
org.springframework.core.convert.support.ObjectToArrayConverter@3a5ed7a6
org.springframework.core.convert.support.ObjectToCollectionConverter@2b9627bc
org.springframework.core.convert.support.ObjectToOptionalConverter@5bc79255
org.springframework.core.convert.support.StreamConverter@65e2dbf3
org.springframework.core.convert.support.StreamConverter@65e2dbf3
org.springframework.core.convert.support.StreamConverter@65e2dbf3
org.springframework.core.convert.support.StreamConverter@65e2dbf3
org.springframework.core.convert.support.StringToArrayConverter@7d907bac
org.springframework.core.convert.support.StringToCollectionConverter@1d16f93d
这些是我在问题注释部分提到的DefaultConversionService中提供的默认转换器.
我注意到有一个FallbackObjectToStringConverter,几乎可以将任何内容转换为String.因此URI和File to String将始终有效.相反的情况似乎是由ObjectToObjectConverter处理的,它非常聪明,可以使用构造函数从String表示形式获取对象.
我想根据您所使用的库和Spring依赖项,很可能它们会在此处注册更多的转换器.
内容总结
以上是互联网集市为您收集整理的java-Spring内置了哪些属性类型转换器?全部内容,希望文章能够帮你解决java-Spring内置了哪些属性类型转换器?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。