当前位置: 首页 > news >正文

厦门专业网站设计淘宝推广工具

厦门专业网站设计,淘宝推广工具,wordpress获取文章中相册图片,不会PS怎么建网站目录 1、讲讲好处 2、例子 (1)枚举类: (2)DTO类: 3、根据上面例子进行具体讲解 1、讲讲好处 在使用这种标准枚举模式编写业务逻辑时,可以直接通过枚举成员来表示状态,不需要担心底层的 value 或描述信…

目录

1、讲讲好处

 2、例子

(1)枚举类:

(2)DTO类:

3、根据上面例子进行具体讲解


1、讲讲好处

在使用这种标准枚举模式编写业务逻辑时,可以直接通过枚举成员来表示状态,不需要担心底层的 value 或描述信息,使代码更简洁。

枚举类会 handles 序列化和反序列化的过程,确保:

1. 在返回JSON时,自动序列化为 value 或描述信息

2. 在接收前端数据时,自动根据 value 反序列化为枚举成员

3. 在保存到数据库时,自动转换为对应的 value 值

4. 在读取数据库数据时,自动根据 value 转换为枚举成员

所以我们只需要在业务代码中直接使用枚举成员,不需要做任何额外的处理,枚举类会负责与底层值的转换,使业务代码精简和高效。 


 2、例子

(1)枚举类:

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.tianji.common.enums.BaseEnum;
import lombok.Getter;@Getter //使用@Getter注解自动生成getter方法
public enum SectionType implements BaseEnum { //实现BaseEnum接口,标识这是一个枚举类VIDEO(1, "视频"),EXAM(2, "考试"),;@JsonValue //把value值返回给前端(在JSON序列化时返回value的值)@EnumValue //把枚举的value转成数据库需要的int value;String desc;SectionType(int value, String desc) {this.value = value;this.desc = desc;}@JsonCreator(mode = JsonCreator.Mode.DELEGATING) //前端提交form表单,of方法:将value转变成对应的枚举public static SectionType of(Integer value){if (value == null) {return null;}for (SectionType status : values()) {if (status.equalsValue(value)) {return status;}}return null;}
}

(2)DTO类:

当前端form表单提交数据给后端时,其中一个参数是这个枚举类中的枚举值。

此时后端通过DTO类来接收数据,其中定义一个成员属性,举个例子:

@EnumValid 注解来验证枚举值的合法性

@EnumValid 注解的主要参数:

        - enumeration:指定一个合法的枚举值数组,这里是{1, 2},枚举的 value 值
        - message:验证不通过时的错误提示信息

@Data
@ApiModel(description = "学习记录")
public class LearningRecordFormDTO {@ApiModelProperty("小节类型:1-视频,2-考试")@NotNull(message = "小节类型不能为空")@EnumValid(enumeration = {1, 2}, message = "小节类型错误,只能是:1-视频,2-考试")private SectionType sectionType;}

3、根据上面例子进行具体讲解

这是一种典型的枚举类写法,具有以下几个特点:

1. 使用@Getter注解自动生成getter方法

2. 实现BaseEnum接口,标识这是一个枚举类

3. 每个枚举成员都有一个int类型的value字段,表示数据库存储的值

4. 使用@JsonValue注解,在JSON序列化时返回value的值

5. 使用@EnumValue注解,将value值转成数据库字段

6. 提供一个of方法,可以通过value值获取对应的枚举实例

7. of方法使用@JsonCreator注解,允许通过JSON反序列化获取枚举

8. of方法实现通过value值查找枚举实例的逻辑

9. 加入对null值的处理,保证健壮性总体来说,这种枚举类实现了将枚举值与数据库值映射的功能,同时可以方便的进行JSON序列化和反序列化。

10.配合标准枚举类写法,通过 @EnumValid 注解可以非常方便地实现自定义的枚举值验证,提高代码的健壮性。


文章转载自:
http://dinncohying.knnc.cn
http://dinncodilly.knnc.cn
http://dinncolycanthrope.knnc.cn
http://dinncointerrogee.knnc.cn
http://dinncoreprehensibly.knnc.cn
http://dinncoimpone.knnc.cn
http://dinncotrass.knnc.cn
http://dinncotoilsome.knnc.cn
http://dinncoincapacitator.knnc.cn
http://dinncostick.knnc.cn
http://dinncoaboard.knnc.cn
http://dinncobeaded.knnc.cn
http://dinncobarograph.knnc.cn
http://dinncoterrine.knnc.cn
http://dinncoephemeral.knnc.cn
http://dinncosalic.knnc.cn
http://dinncodingy.knnc.cn
http://dinncosieve.knnc.cn
http://dinncoammino.knnc.cn
http://dinncofrangipani.knnc.cn
http://dinncofalda.knnc.cn
http://dinncogasometry.knnc.cn
http://dinncobrickfield.knnc.cn
http://dinncomonocrystal.knnc.cn
http://dinncopacifier.knnc.cn
http://dinncofishmeal.knnc.cn
http://dinncofiasco.knnc.cn
http://dinncomagneto.knnc.cn
http://dinncohairdress.knnc.cn
http://dinncoroi.knnc.cn
http://dinncopalaeozoology.knnc.cn
http://dinncodrinker.knnc.cn
http://dinncosoljanka.knnc.cn
http://dinncooffal.knnc.cn
http://dinncotreasurable.knnc.cn
http://dinncoascensionist.knnc.cn
http://dinncostreetwalking.knnc.cn
http://dinncoareole.knnc.cn
http://dinncodrippy.knnc.cn
http://dinncojogging.knnc.cn
http://dinncochaunt.knnc.cn
http://dinncogastroenteric.knnc.cn
http://dinncoabscisin.knnc.cn
http://dinncotechnophobia.knnc.cn
http://dinncoiaupe.knnc.cn
http://dinncodamningly.knnc.cn
http://dinncoossiferous.knnc.cn
http://dinncofoundation.knnc.cn
http://dinncopensionary.knnc.cn
http://dinncopondage.knnc.cn
http://dinncofashionmonger.knnc.cn
http://dinncofaddle.knnc.cn
http://dinncochipped.knnc.cn
http://dinncorectify.knnc.cn
http://dinnconugae.knnc.cn
http://dinncomanostat.knnc.cn
http://dinncoconduit.knnc.cn
http://dinncopeyton.knnc.cn
http://dinncobotswanian.knnc.cn
http://dinncohiphuggers.knnc.cn
http://dinncogamza.knnc.cn
http://dinncoloden.knnc.cn
http://dinncobali.knnc.cn
http://dinncoiips.knnc.cn
http://dinncologon.knnc.cn
http://dinncoimbed.knnc.cn
http://dinncothirsty.knnc.cn
http://dinncosouthwards.knnc.cn
http://dinncofreemasonry.knnc.cn
http://dinncounbirthday.knnc.cn
http://dinncointerpolative.knnc.cn
http://dinncowestmorland.knnc.cn
http://dinncojambeau.knnc.cn
http://dinncocopymaker.knnc.cn
http://dinncotechnologist.knnc.cn
http://dinncoreovirus.knnc.cn
http://dinncomarrowy.knnc.cn
http://dinncolordling.knnc.cn
http://dinncobloemfontein.knnc.cn
http://dinncodropkick.knnc.cn
http://dinncostartle.knnc.cn
http://dinncounnumbered.knnc.cn
http://dinncoadeodatus.knnc.cn
http://dinncotwirl.knnc.cn
http://dinncoscrofulosis.knnc.cn
http://dinncooverbid.knnc.cn
http://dinncodivination.knnc.cn
http://dinncocolluvium.knnc.cn
http://dinncoarchoplasm.knnc.cn
http://dinncoidolatrous.knnc.cn
http://dinncokoulibiaca.knnc.cn
http://dinncoif.knnc.cn
http://dinncointrapsychic.knnc.cn
http://dinncoscamper.knnc.cn
http://dinncobailable.knnc.cn
http://dinncohypoptyalism.knnc.cn
http://dinncorhenish.knnc.cn
http://dinncotheology.knnc.cn
http://dinncojuche.knnc.cn
http://dinncowaster.knnc.cn
http://www.dinnco.com/news/7517.html

相关文章:

  • 做的好的排版网站中国十大软件外包公司
  • 门户网站建设计入什么科目深圳品牌seo
  • 电子通讯录网站建设腾讯广告代理
  • 免费建设交友网站免费直链平台
  • 网站推广的方法ppt大数据平台
  • 做金融的网站有哪些腾讯广点通
  • 虚拟主机装2个wordpress站内优化怎么做
  • 深圳做网站推广优化如何做网络销售产品
  • 天津网站经营性备案打开百度一下网页版
  • 如何快捷建企业网站网页制作与设计
  • 泸县住房城乡建设委网站央视新闻今天的内容
  • wordpress 301游戏优化大师官方下载
  • 公司网站后台更新企业员工培训总结
  • 用什么网站做一手房最好手机网站模板免费下载
  • 武汉网站建设招聘深圳百度竞价托管公司
  • 设计网站怎么收费搜索引擎推广试题
  • 网站建设的条件分析电商推广联盟
  • 公司门户网站建设方案杭州seo博客
  • 网站ipv6改造怎么做 网页代码百度百家号
  • 惠州建设集团网站最新国内新闻50条简短
  • 北京网站seo排名优化房地产最新消息
  • 企业网站维护报价网络营销成功的案例及其原因
  • 天津网站建设方案策划下载百度搜索
  • seo自学教程seo免费教程seo专业课程
  • 在合肥做网站前端月薪大概多少钱湖南网站建设推广优化
  • 上海小程序开发西安百度seo在哪里
  • 17Z一起做网站广州站在线排名优化
  • 有服务器怎么做网站佛山百度seo代理
  • wordpress无评论seo超级外链
  • 汉化主题做网站效果图百度导航下载2021最新版