news 2026/6/10 16:02:19

(17)注入自定义Date

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(17)注入自定义Date

我们前面说过,java.util.Date在Spring中被当做简单类型,简单类型在注入的时候可以直接使用value属性或value标签来完成。但我们之前已经测试过了,对于Date类型来说,采用value属性或value标签赋值的时候,对日期字符串的格式要求非常严格,必须是这种格式的:Mon Oct 10 14:30:26 CST 2022。其他格式是不会被识别的。如以下代码:

packagecom.powernode.spring6.bean;importjava.util.Date;/** * @author 动力节点 * @version 1.0 * @className Student * @since 1.0 **/publicclassStudent{privateDatebirth;publicvoidsetBirth(Datebirth){this.birth=birth;}@OverridepublicStringtoString(){return"Student{"+"birth="+birth+'}';}}
<beanid="studentBean"class="com.powernode.spring6.bean.Student"><propertyname="birth"value="Mon Oct 10 14:30:26 CST 2002"/></bean>
@TestpublicvoidtestDate(){ApplicationContextapplicationContext=newClassPathXmlApplicationContext("spring.xml");StudentstudentBean=applicationContext.getBean("studentBean",Student.class);System.out.println(studentBean);}

如果把日期格式修改一下:

<beanid="studentBean"class="com.powernode.spring6.bean.Student"><propertyname="birth"value="2002-10-10"/></bean>

这种情况下,我们就可以使用FactoryBean来完成这个骚操作。
编写DateFactoryBean实现FactoryBean接口:

packagecom.powernode.spring6.bean;importorg.springframework.beans.factory.FactoryBean;importjava.text.SimpleDateFormat;importjava.util.Date;/** * @author 动力节点 * @version 1.0 * @className DateFactoryBean * @since 1.0 **/publicclassDateFactoryBeanimplementsFactoryBean<Date>{// 定义属性接收日期字符串privateStringdate;// 通过构造方法给日期字符串属性赋值publicDateFactoryBean(Stringdate){this.date=date;}@OverridepublicDategetObject()throwsException{SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");returnsdf.parse(this.date);}@OverridepublicClass<?>getObjectType(){returnnull;}}

编写spring配置文件:

<beanid="dateBean"class="com.powernode.spring6.bean.DateFactoryBean"><constructor-argname="date"value="1999-10-11"/></bean><beanid="studentBean"class="com.powernode.spring6.bean.Student"><propertyname="birth"ref="dateBean"/></bean>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:32:11

GPT的前世今生

AIGC AIGC爆发元年&#xff1a;2023 什么是AIGC&#xff1f;AI Generated Content&#xff0c;利用AI创造内容。据某权威机构&#xff0c;未来10年&#xff0c;互联网AIGC内容占比将达到50%。 机器学习知识补充 无监督学习 vs 有监督学习 无监督学习和有监督学习都是机器学…

作者头像 李华
网站建设 2026/6/10 10:45:25

如何构建智能文档索引:推理检索的终极指南

在处理长篇专业文档时&#xff0c;传统的基于向量的搜索技术往往依赖于语义的相似性&#xff0c;而非真正的相关性。然而&#xff0c;我们需要的正是这种相关性&#xff0c;它要求有推理能力的支持。当处理需要领域专业知识的多步骤推理的专业文档时&#xff0c;仅仅基于相似性…

作者头像 李华
网站建设 2026/6/10 15:35:14

【C++】哈希表实现

1. 哈希概念 哈希(hash)又称散列&#xff0c;是⼀种组织数据的方式。从译名来看&#xff0c;有散乱排列的意思。本质就是通过哈希函数把关键字Key跟存储位置建立⼀个映射关系&#xff0c;查找时通过这个哈希函数计算出Key存储的位置&#xff0c;进行快速查找。 1.1 直接定址法…

作者头像 李华
网站建设 2026/6/10 11:48:06

fastText预训练模型终极指南:5个步骤快速部署高效文本处理

fastText预训练模型终极指南&#xff1a;5个步骤快速部署高效文本处理 【免费下载链接】fastText Library for fast text representation and classification. 项目地址: https://gitcode.com/gh_mirrors/fa/fastText 想要快速构建高质量的文本分类和词向量应用&#xf…

作者头像 李华
网站建设 2026/6/10 11:46:56

【微信小程序城市公交查询系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案

摘 要 当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统城市公交查询管理采取了人工的管理方法…

作者头像 李华