[Java Spring] Convertors
If you need to convert a deep nested object struture, you cannot just use @InitBinder, you need to build a custom convertor:
Exp: conver city prop in new Person().getAddress().getCity(). it is deep nested.
Example of customer convert:
Define an enum for gender:
public enum Gender { MALE, FEMALE, OTHER; }
Define a custom convertor class which implements Convertor interface:
import org.springfreamwork.core.convert.converter.Converter; public class StringToEnumConvertor implements Converter { @Override public Gender convert(String s) { if(s.equals("Male")) { return Gender.MALE; } else if(s.equals("Female")) { return Gender.FEMALE; } else { return Gender.OTHER; } }
Register the convertor in the configuration:
ApplicationConfg.java:
@Configuration public class AppConfig { ... @Override protected void addFormatters(FormatterRegistry registry) { registry.addConverter(new StringToEnumConvertor()); } }
User Entity:
@Entity public class User { ...
// When save into db, we want to save "MALE" as string, instead of 0,1...
@Enumerated(EnumType.STRING) private Gender gender; }
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-01-13 [Git] git Ignore a File that has Already been Committed and Pushed
2020-01-13 [Git] Cleanup and Delete Branches After a Pull Request
2020-01-13 [NestJs] Introduction to NestJs Error Handling & Expection filter
2020-01-13 [Algorithm] 14. Longest Common Prefix -- 2
2019-01-13 [React] Return a list of elements from a functional component in React
2016-01-13 [ES6] Objects vs Maps