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

做爰全过程免费的视网站郑州汉狮做网站的大公司

做爰全过程免费的视网站,郑州汉狮做网站的大公司,做初中题赚钱的网站,网站建设杭州滨江一、代码 Java 类 MessageInfo 使用了 Lombok 库的注解来简化代码(省去手动编写 getter、setter 方法的工作)以下是详细解释:1. Lombok 注解的作用- Setter :为被注解的字段生成 setter 方法(用于给字段赋值&#…

一、代码 Java 类  MessageInfo 使用了 Lombok 库的注解来简化代码(省去手动编写 getter、setter 方法的工作)

以下是详细解释:

 

1. Lombok 注解的作用

 

-  @Setter :为被注解的字段生成  setter  方法(用于给字段赋值)。

-  @Getter :为被注解的字段生成  getter  方法(用于获取字段值)。

-  @Data (代码中被注释了,原本可以用):是 Lombok 的“组合注解”,会同时生成  getter 、 setter 、 toString 、 equals 、 hashCode  等方法,能极大简化实体类代码。

 

2. 类与字段说明

 

- 类  MessageInfo :是一个普通的 Java 实体类,通常用于封装“消息相关的信息”。

- 字段  from :被  @Setter  注解,会生成  setFrom(String from)  方法,用于设置“消息发送者”。

- 字段  to :被  @Getter  注解,会生成  getTo()  方法,用于获取“消息接收者”。

- 字段  message :没有显式加  @Getter  或  @Setter (但如果类上用了  @Data ,会自动生成这两个方法),表示“消息内容”。

 

3. 代码简化效果

 

如果不用 Lombok,你需要手动写这样的代码:

 

java

public class MessageInfo {

    private String from;

    private String to;

    private String message;

 

    public void setFrom(String from) {

        this.from = from;

    }

 

    public String getTo() {

        return to;

    }

 

    // 还要给 from、message 写 getter,给 to、message 写 setter... 很繁琐

}

 

 

而用 Lombok 后,只需要加注解,就能自动生成这些方法,让代码更简洁~

 

二、Java 项目中  如MessageInfo  类编译后的字节码反编译文件( .class  文件),结合右侧Lombok代码片段,展示了使用 Lombok 注解后自动生成的方法。

- Lombok 注解的作用:

-  @Getter :为成员变量生成  getter  方法,用于获取变量值。

-  @Setter :为成员变量生成  setter  方法,用于设置变量值。

-  @ToString :生成  toString  方法,方便打印对象时显示对象的属性信息。

-  @AllArgsConstructor :生成包含所有成员变量的构造方法。

- 生成的方法:

-  setFrom 、 setTo 、 setMessage :分别是成员变量  from 、 to 、 message  的  setter  方法,用于给这些变量赋值。

-  toString :返回包含  from 、 to 、 message  变量值的字符串,便于查看对象内容。

- 还有一个包含  from 、 to 、 message  三个参数的构造方法,用于创建  MessageInfo  对象时直接为这三个变量赋值。

 

简单来说,Lombok 注解帮助我们自动生成了原本需要手动编写的 getter、setter、构造方法和 toString 方法,简化了代码编写。

 

三、这是 Spring Boot 项目中一个叫  MessageController  的控制器类,用于处理和“消息”相关的请求

下面分步解释:

1. 注解部分

 

-  @RequestMapping("/message") :表示这个控制器里的所有请求方法,都会映射到以  /message  开头的 URL 路径上。

-  @RestController :这是 Spring 的注解,它有两个作用,一是说明这个类是一个控制器,能处理 HTTP 请求;二是表示这个类里的方法返回的对象会直接转换成 JSON 等格式的数据,响应给客户端,而不是跳转页面。

 

2. 成员变量

 

java

private List<MessageInfo> messageInfoList = new ArrayList<>();

 

 

- 定义了一个类型为  List<MessageInfo>  的成员变量  messageInfoList ,并初始化为  ArrayList  类型。 MessageInfo  应该是一个实体类(用来表示消息信息,比如包含发信人、收信人、消息内容等属性)。这个列表可以用来存储多个  MessageInfo  对象,比如存储所有发布的消息。

 

3.  publish  方法

 

java

@RequestMapping("/publish")

public Boolean publish(@RequestBody MessageInfo messageInfo) {

    return false;

}

 

 

-  @RequestMapping("/publish") :表示当客户端访问  /message/publish  这个 URL 时,会调用  publish  方法。

-  @RequestBody :这个注解用于接收客户端发送过来的 JSON 格式的数据,并将其转换成  MessageInfo  对象。

- 方法返回  false ,目前这个方法只是一个框架,还没有实现真正的“发布消息”逻辑,所以暂时返回  false ,表示发布失败或者其他含义,后续可以在这个方法里添加将  messageInfo  存入 messageInfoList  等发布消息的逻辑。

 

四、这句话的意思是:创建一个“装消息的列表容器”,专门用来存放多个消息对象。

 

可以用生活中的例子理解:

 

例子1:微信聊天记录列表

 

-  MessageInfo  就像一条具体的微信消息(包含:谁发的、发给谁、内容是什么)

-  List<MessageInfo>  就像你的“聊天记录列表”(里面可以装很多条消息)

-  new ArrayList<>()  就是把这个“聊天记录列表”初始化(相当于创建一个空的笔记本,准备记录消息)

 

假设  MessageInfo  有三个属性: from (发信人)、 to (收信人)、 message (内容),实际使用时就像这样:

 

java

// 1. 创建消息列表(就像买了一个空的笔记本)

private List<MessageInfo> messageInfoList = new ArrayList<>();

 

// 2. 创建第一条消息(张三给李四发消息)

MessageInfo msg1 = new MessageInfo();

msg1.setFrom("张三");

msg1.setTo("李四");

msg1.setMessage("你好!");

 

// 3. 创建第二条消息(李四回复张三)

MessageInfo msg2 = new MessageInfo();

msg2.setFrom("李四");

msg2.setTo("张三");

msg2.setMessage("你好呀!");

 

// 4. 把消息放进列表(记到笔记本上)

messageInfoList.add(msg1);

messageInfoList.add(msg2);

 

// 现在列表里有2条消息,就像笔记本上记了2条聊天记录

 

 

例子2:班级留言板

 

-  MessageInfo  是一条留言(谁留的、留给谁、留言内容)

-  messageInfoList  就是整个留言板(可以贴很多条留言)

 

java

// 留言板初始化

private List<MessageInfo> messageInfoList = new ArrayList<>();

 

// 添加留言

messageInfoList.add(new MessageInfo("班长", "全体同学", "明天开会"));

messageInfoList.add(new MessageInfo("小明", "小红", "借我一支笔"));

 

// 现在留言板上有2条留言,需要时可以取出来查看

 

 

简单说: List<MessageInfo>  就是一个“消息集合”,可以批量存放、管理多条消息,就像用一个文件夹装很多文件一样。

 

http://www.dtcms.com/a/431515.html

相关文章:

  • 前端网站大全gps建站步骤
  • python基础语法速通
  • 中国地级市旅游人数、收入数据(2000-2023年)
  • 计算机毕设做网站难吗广州seo托管
  • 高端网站设计如何兼顾美学与转化率?
  • 软件下载网站如何履行安全管理义务确保提供的软件广州冼村为什么有钱
  • 嵌入式开发笔记(1)
  • 泉州 网站建设公司首选北京海淀区的科技有限公司
  • 数字化先期质量策划:论全星APQP系统对传统PLM理念的超越与重塑
  • C++lambda函数
  • 第 5 天:C 语言运算符与表达式 —— 数据处理的工具集
  • [深度学习] 大模型学习5-高效微调框架Unsloth使用指北
  • 家教网站代理做彩票网站是违法的吗
  • 南康网站建设wplms wordpress
  • 专注网站建设16年网站多级栏目
  • 四川建设厅电子证书官方网站我想做卖鱼苗网站怎样做
  • 所有字符的ASCII码值(0-127,按照序号、字符、描述、十进制、十六进制列表显示)(完整版)
  • 门控融合机制
  • 做本地的分类信息网站网络营销的特点是什么
  • grep 命令
  • 网站开发运营专业做足球体彩网站
  • 做外贸网站的价格最新新闻热点事件2021年10月
  • iBizModel 实体值规则模型(PSDEFVALUERULE)详解与应用
  • 大数据Spark(六十五):Transformation转换算子groupByKey和filter
  • sward入门到实战(11) - 如何有效保障文档的安全可靠
  • Qt---尺寸调整函数汇总
  • Linux 命令:nohup
  • 网站怎么制作做泉州互联网公司排名
  • 做ppt软件怎么下载网站电商网站系统建设考试
  • AI行业应用全景:从金融风控到智能制造的落地实践与技术解析