iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何理解Spring自定义属性编辑器
  • 904
分享到

如何理解Spring自定义属性编辑器

2023-06-17 13:06:53 904人浏览 安东尼
摘要

如何理解spring自定义属性编辑器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Spring 自定义属性编辑器Spring DI注入的时候可以把普通属性注入进来,但是像D

如何理解spring自定义属性编辑器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Spring 自定义属性编辑器

Spring DI注入的时候可以把普通属性注入进来,但是像Date类型的就无法被识别。这时可以通过Spring的属性编辑器把配置文件中的字符串转化成相应的对象进行注入。

Spring有自带的属性编辑器,我们也可以写自定义的属性编辑器

自定义属性编辑器:

继承java.beans.PropertyEditorSupport类,重写其中的setAsText(String text)方法。

再把自定义的属性编辑器注入到Spring中。

例子:

JavaBean类

Java代码

package com.cos.entity;         import java.util.Date;     import java.util.List;     import java.util.Map;     import java.util.Set;         public class UserBean {             private Date birthday;             public Date getBirthday() {             return birthday;         }             public void setBirthday(Date birthday) {             this.birthday = birthday;         }     }

自定义属性编辑器

Java代码

package com.cos.entity;         import java.beans.PropertyEditorSupport;     import java.text.ParseException;     import java.text.SimpleDateFORMat;         //自己写一个自定义属性编辑器来继承属性编辑器PropertyEditorSupport     public class DatePropertyEditor extends PropertyEditorSupport {             //时间的格式         String format;             public String getFormat() {             return format;         }             public void setFormat(String format) {             this.format = format;         }             //需要重写属性编辑器的setAsText()方法         @Override        public void setAsText(String text) {             try {                 SimpleDateFormat f = new SimpleDateFormat(format);                 //把转换后的值传进去                 this.setValue(f.parse(text));             } catch (ParseException ex) {                 ex.printStackTrace();             }         }     }

spring配置文件 applicationContext.xml :

Xml代码

<beans xmlns="Http://www.springframework.org/schema/beans"        xmlns:jdbc="http://www.springframework.org/schema/jdbc"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd             http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">            <!-- 普通属性注入 -->        <bean id="userBean" class="com.cos.entity.UserBean">            <!-- 时间属性,需要属性编辑器 -->            <property name="birthday" value="2011-03-16"/>        </bean>            <!-- 特殊属性的注入.把特殊属性注入到CustomEditorConfigurer Bean 里 -->        <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">            <property name="customEditors">                <map>                    <entry key="java.util.Date">                        <bean class="com.cos.entity.DatePropertyEditor">                            <property name="format" value="yyyy-MM-dd"/>                        </bean>                    </entry>                </map>            </property>        </bean>    </beans>

 

org.springframework.beans.factory.config.CustomEditorConfigurer类可以读取PropertyEditorSupport类及子类,将字符串转化为指定的类型。

PropertyEditorSupport类把要转化的Date类型注入到customEditors Map中。

测试类:

Java代码

package com.cos.entity;         import org.springframework.beans.factory.BeanFactory;     import org.springframework.context.support.ClassPathXmlApplicationContext;         public class Main {             public static void main(String[] args) {             //通过spring配置文件返回Bean的工厂对象             BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");             //Bean工厂通过Bean的id得到JavaBean             UserBean ub = (UserBean) factory.getBean("userBean");             System.out.println(""+ub.getBirthday());         }     }

关于如何理解Spring自定义属性编辑器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 如何理解Spring自定义属性编辑器

本文链接: https://www.lsjlt.com/news/289440.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解Spring自定义属性编辑器
    如何理解Spring自定义属性编辑器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Spring 自定义属性编辑器Spring DI注入的时候可以把普通属性注入进来,但是像D...
    99+
    2023-06-17
  • Spring Boot如何读取自定义外部属性详解
    测试的环境:Spring Boot2 + Maven +lombok 准备需要用到的基础类: public class People { private String n...
    99+
    2024-04-02
  • 如何理解HTML5中的标准属性与自定义属性
    这篇文章将为大家详细讲解有关如何理解HTML5中的标准属性与自定义属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。正如 HTML5 语法中所阐述的,元素可...
    99+
    2024-04-02
  • VB.NET如何自定义属性
    这篇文章主要介绍了VB.NET如何自定义属性,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。类文件:(Class1)Imports System  &nbs...
    99+
    2023-06-17
  • wpf如何自定义控件属性
    在WPF中,可以通过创建自定义控件继承自现有的控件,并添加自定义属性来实现自定义控件属性。 以下是一个简单的示例,展示了如何创建一个...
    99+
    2023-10-24
    wpf
  • 如何在css中自定义属性
    本篇文章给大家分享的是有关如何在css中自定义属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1* css变量的语法<1> 什么是css变量?如果您使用过任何一种...
    99+
    2023-06-08
  • Spring如何自定义注解
    这篇文章将为大家详细讲解有关Spring如何自定义注解,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字段注解字段注解一般是用于校验字段是否满足要求,hibernate-validate依赖就提供了很多校验...
    99+
    2023-06-15
  • 如何在HTML5中自定义属性
    本篇文章为大家展示了如何在HTML5中自定义属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。HTML5 自定义属性网站中经常会看到以data-开头的属性定义,虽然W3C不认定,但最新HTML5规定...
    99+
    2023-06-09
  • vue如何获取自定义属性
    在vue中获取自定义属性的方法:1.新建vue.js项目;2.自定义button标签;3.执行代码获取标签属性;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创...
    99+
    2024-04-02
  • springboot如何读取自定义属性
    很多时候,我们开发当中,需要通过配置自己的属性信息来满足不同环境下的应用部署,因此需要springboot能够读取我们自定义的属性,常用的读取自定义属性有@Value和@Config...
    99+
    2024-04-02
  • 如何理解HTML5的自定义属性data-*和JS操作
    这篇文章主要讲解了“如何理解HTML5的自定义属性data-*和JS操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解HTML5的自定义属性data...
    99+
    2024-04-02
  • 如何自定义TopBar和属性封装
    这篇文章主要介绍“如何自定义TopBar和属性封装”,在日常操作中,相信很多人在如何自定义TopBar和属性封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何自定义TopBar和属性封装”的疑惑有所帮助!...
    99+
    2023-06-19
  • Spring Security密码解析器PasswordEncoder自定义登录逻辑
    目录一、PasswordEncoder密码解析器详解1.接口介绍2.内置解析器介绍3.BCryptPasswordEncoder简介4.代码演示二、自定义登录逻辑1.编写配置类2.自...
    99+
    2022-11-13
    Spring Security密码解析器 PasswordEncoder自定义登录逻辑
  • Spring Security自定义认证逻辑实例详解
    目录前言分析问题自定义 Authentication自定义 Filter自定义 Provider自定义认证成功/失败后的 Handler配置自定义认证的逻辑测试总结前言 这篇文章的内...
    99+
    2024-04-02
  • SpringBoot如何自定义错误处理逻辑
    本篇内容主要讲解“SpringBoot如何自定义错误处理逻辑”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot如何自定义错误处理逻辑”吧!1. 自定义错误页面将自定义错误页面放在...
    99+
    2023-07-04
  • 如何获取div的自定义属性值
    小编给大家分享一下如何获取div的自定义属性值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!举例:<div goods-h...
    99+
    2024-04-02
  • Angular2如何实现自定义双向绑定属性
    这篇文章将为大家详细讲解有关Angular2如何实现自定义双向绑定属性,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。整理文档,搜刮出一个Angular 2实现自定义 双向...
    99+
    2024-04-02
  • Android自定义控件如何在XML文件中使用自定义属性
    目录前言一、为什么需要自定义控件二、具体步骤1.首先我们创建一个 layout xml文件:2.为自定义控件创建java类:3.在res/values下,新建一个attrs.xml文...
    99+
    2023-05-14
    Android XML自定义属性 Android 自定义控件
  • springboot自定义配置Boolean属性不生效如何解决
    这篇文章主要介绍“springboot自定义配置Boolean属性不生效如何解决”,在日常操作中,相信很多人在springboot自定义配置Boolean属性不生效如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-29
  • Spring Batch 如何自定义ItemReader
    目录Spring Batch 自定义ItemReader创建自定义ItemReader配置ItemReader Bean小结一下Spring Batch 之 ItemReaderJd...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作