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

做的网站错位怎么办设计接单网站大全

做的网站错位怎么办,设计接单网站大全,内蒙古自治区建设厅网站,国内大一html网站简单设计java 项目结构 文件说明 潜规则 java入门-CSDN博客 C# 入坑JAVA 潜规则 大小写敏感文件名和类名 枚举等 入门系列2-CSDN博客 java注解 好像和C# 特性 差不多 Data Builder NoArgsConstructor AllArgsConstructor 在Java中#xff0c;Data、Builder、NoArgsConstructor和Al…java 项目结构 文件说明 潜规则 java入门-CSDN博客 C# 入坑JAVA 潜规则 大小写敏感文件名和类名 枚举等 入门系列2-CSDN博客 java注解 好像和C# 特性 差不多 Data Builder NoArgsConstructor AllArgsConstructor 在Java中Data、Builder、NoArgsConstructor和AllArgsConstructor是Lombok库提供的注解它们用于简化Java对象的创建和处理。Lombok是一个流行的Java库旨在减少样板代码的编写让开发者能够更专注于业务逻辑。下面是这些注解的简要说明 Data 这是一个聚合注解它自动为类生成getter和setter方法、toString()、equals()和hashCode()方法。它还包含了ToString、EqualsAndHashCode、Getter、Setter和RequiredArgsConstructor的功能。 Builder 这个注解用于在类上创建一个builder模式的构建器允许通过链式调用来设置对象的属性。使用Builder注解可以很容易地创建对象特别是当对象有很多属性时。 NoArgsConstructor 这个注解让Lombok为类生成一个无参的构造函数。这对于创建没有初始值的对象实例很有用。 AllArgsConstructor 这个注解让Lombok为类生成一个包含所有属性的构造函数。这对于创建完全初始化的对象实例很有用。 这些注解通常用于模型类或DTO数据传输对象以减少手动编写常见方法的时间。例如一个使用这些注解的简单类可能看起来像这样 import lombok.Data; import lombok.Builder; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor;Data Builder NoArgsConstructor AllArgsConstructor public class Person {private String name;private int age;private String email; } 在这个例子中Person类将自动拥有以下功能 Getter和Setter方法toString()、equals()和hashCode()方法一个无参构造函数一个包含所有属性的构造函数一个builder模式的构建器 使用这些注解你可以这样创建Person对象 Person person new Person(); Person personWithAllArgsConstructor new Person(John Doe, 30, john.doeexample.com); Person personWithBuilder Person.builder().name(Jane Doe).age(25).email(jane.doeexample.com).build(); 请注意要使用Lombok注解你需要在项目中添加Lombok依赖并在IDE中安装相应的插件以便正确地识别和处理这些注解。 java String 变LocalDateTime //2024-09-29 12:30 DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss); LocalDateTime dateTime LocalDateTime.parse(createReqVO.getSolDeliveryDate(), formatter); order.setSolDeliveryDate(dateTime); JAVA 集合 ListMapString, Object listMch new ArrayList();         MapString, Object mch1 new HashMap(); ListMapString, Object listMch new ArrayList();MapString, Object mch1 new HashMap();mch1.put(mchName, 海口);mch1.put(userId, 0);mch1.put(mchId, 4);mch1.put(warehouseId, 0);listMch.add(mch1); 您提供的代码是Java语言的一段示例它创建了一个列表 listMch该列表存储了一个映射Map的集合每个映射代表一个商户mch的信息。然后代码创建了一个 HashMap 实例 mch1并向其中添加了几个键值对来存储特定商户的信息最后将这个映射添加到了列表 listMch 中。 这里是代码的详细解释 ListMapString, Object listMch new ArrayList(); 这行代码创建了一个 ArrayList它的泛型参数是 MapString, Object。这意味着 listMch 可以存储 Map 对象的列表其中每个 Map 的键是 String 类型值是 Object 类型。 MapString, Object mch1 new HashMap(); 这行代码创建了一个 HashMap 实例 mch1它也是键值对的集合键是 String 类型值是 Object 类型。 mch1.put(mchName, 海口); 这行代码向 mch1 映射中添加了一个键值对键是 mchName值是字符串 海口。 mch1.put(userId, 0); 向 mch1 映射中添加了另一个键值对键是 userId值是整数 0。 mch1.put(mchId, 4); 再次向 mch1 映射中添加键值对键是 mchId值是整数 4。 mch1.put(warehouseId, 0); 向 mch1 映射中添加最后一个键值对键是 warehouseId值是整数 0。 listMch.add(mch1); 最后这行代码将填充好的 mch1 映射添加到 listMch 列表中。 这段代码通常用于初始化数据可能用于测试、数据模型的演示或者在应用程序中创建一个包含商户信息的列表。每个映射可以看作是数据库中的一行记录或者是一个JSON对象。在实际的应用程序中这些数据可能会被用来填充用户界面、进行业务逻辑处理或者通过网络发送到其他服务。 JAVA 集合 再包一层集合 MapString, ListMapString, Object result new HashMap(); result.put(listMch, listMch); 在您提供的代码片段中您创建了一个类型为 MapString, ListMapString, Object 的 result 变量并将其实例化为一个 HashMap。然后您将之前创建的 listMch它是一个 ListMapString, Object 类型的变量添加到 result 映射中键为 listMch。 这里是代码的详细解释 MapString, ListMapString, Object result new HashMap(); 这行代码创建了一个 HashMap 实例 result。这个映射的键是 String 类型值是 ListMapString, Object 类型。这意味着 result 可以存储一个或多个键值对其中每个键都映射到一个列表列表中的每个元素都是一个映射Map映射的键和值都是 Object 类型。 result.put(listMch, listMch); 这行代码调用 result 映射的 put 方法将键 listMch 和值 listMch 添加到映射中。这里的 listMch 是一个之前定义的 ListMapString, Object 类型的变量它包含了商户信息的列表。 这段代码通常用于将数据组织成层次结构以便于后续处理或传输。例如您可能需要将这些数据发送到前端应用程序或者在内部逻辑中使用这些数据。 在实际应用中result 映射可以被序列化为JSON格式以便于通过网络发送或者在不同的系统和组件之间进行数据交换。例如如果您使用Jackson或Gson这样的JSON库您可以轻松地将 result 转换为JSON字符串 import com.fasterxml.jackson.databind.ObjectMapper;// ...ObjectMapper objectMapper new ObjectMapper(); String jsonString objectMapper.writeValueAsString(result); System.out.println(jsonString); 多维数据 属性规格 /** * 属性数组JSON 格式 */TableField(typeHandler JacksonTypeHandler.class) private ListProperty properties;/*** 商品属性*/ Data NoArgsConstructor AllArgsConstructor public static class Property {/*** 属性编号* 关联 {link ProductPropertyDO#getId()}*/private Long propertyId;/*** 属性名字* 冗余 {link ProductPropertyDO#getName()}** 注意每次属性名字发生变化时需要更新该冗余*/private String propertyName;/*** 属性值编号* 关联 {link ProductPropertyValueDO#getId()}*/private Long valueId;/*** 属性值名字* 冗余 {link ProductPropertyValueDO#getName()}** 注意每次属性值名字发生变化时需要更新该冗余*/private String valueName;} 在Java中如果你想要循环遍历一个ListProductPropertyValueDetailRespDTO列表并查找其中skuId属性值不一样的对象你可以使用一个简单的for循环或者forEach循环来实现。以下是两种常见的方法 JAVA  forEach循环list对象 set 更新list某属性值 import java.util.List;// 假设你有一个ListProductPropertyValueDetailRespDTO类型的列表 ListProductPropertyValueDetailRespDTO list ...;// 使用forEach循环遍历列表 list.forEach((dto, index) - {if (index 0 !dto.getSkuId().equals(list.get(index - 1).getSkuId())) {// 找到skuId属性值不一样的对象System.out.println(找到skuId属性值不一样的对象: dto);} }); if(sku.getProperties()!null) {sku.getProperties().forEach(t-t.setSkuId(id)); } 在这个例子中forEach循环提供了当前遍历到的对象dto和它的索引index。通过比较当前对象的skuId与前一个对象的skuId通过索引index - 1获取可以找到skuId属性值不一样的对象。 JAVA For使用传统的for循环list对象 import java.util.List;// 假设你有一个ListProductPropertyValueDetailRespDTO类型的列表 ListProductPropertyValueDetailRespDTO list ...;// 假设你有一个引用用于保存上一个遍历到的对象 ProductPropertyValueDetailRespDTO previousDto null;for (ProductPropertyValueDetailRespDTO dto : list) {if (previousDto ! null !dto.getSkuId().equals(previousDto.getSkuId())) {// 找到skuId属性值不一样的对象System.out.println(找到skuId属性值不一样的对象: dto);}previousDto dto; } if(sku.getProperties()!null) {ListCartDO cartList cartMapper.selectListByUserIdAndSpuId(userId,cart.getSpuId());for (CartDO dto : cartList) {if (!cart.getSkuId().equals(dto.getSkuId())) {throw exception(CARD_ITEM_NOTDOUBLE_FOUND);}} } 在这个例子中previousDto用于保存上一个遍历到的ProductPropertyValueDetailRespDTO对象。在每次循环中都会检查当前对象的skuId是否与上一个对象的skuId不同。如果不同就表示找到了一个skuId属性值不一样的对象。 疑问为什么 Controller 分成 Admin 和 App 两种 提供给 Admin 和 App 的 RESTful API 接口是不同的拆分后更加清晰。 疑问为什么 VO 分成 Admin 和 App 两种 相同功能的 RESTful API 接口对于 Admin 和 App 传入的参数、返回的结果都可能是不同的。例如说Admin 查询某个用户的基本信息时可以返回全部字段而 App 查询时不会返回 mobile 手机等敏感字段。 疑问为什么 DO 不作为 Controller 的出入参 明确每个 RESTful API 接口的出入参。例如说创建部门时只需要传入 name、parentId 字段使用 DO 接参就会导致 type、createTime、creator 等字段可以被传入导致前端同学一脸懵逼。每个 RESTful API 有自己独立的 VO可以更好的设置 Swagger 注解、Validator 校验规则而让 DO 保持整洁专注映射好数据库表。 当前时间 LocalDateTime.now() 项目备注  当前登入人 getLoginUserId() 插件设置 代码热加载 在日常开发中我们需要经常修改 Java 代码手动重启项目查看修改后的效果。如果在项目小时重启速度比较快等待的时间是较短的。但是随着项目逐渐变大重启的速度变慢等待时间 1-2 min 是比较常见的。 这样就导致我们开发效率降低影响我们的下班时间哈哈哈~ 那么是否有方式能够实现在我们修改完 Java 代码之后能够不重启项目呢答案是有的通过 代码热加载 的方式。实现方案有三种 spring-boot-devtools【不推荐】IDEA 自带 HowSwap 功能【推荐】JRebel 插件【最推荐】 1. spring-boot-devtools spring-boot-devtools (opens new window)是 Spring Boot 提供的开发者工具它会监控当前应用所在的 classpath 下的文件发生变化进行自动重启。 devtools 存在重启速度较慢的问题所以不推荐 #2. IDEA 自带 HowSwap 功能 该功能是 IDEA Ultimate 旗舰版的专属功能不支持 IDEA Community 社区版。 #2.1 如何使用 ① 设置 Spring Boot 启动类开启 HotSwap 功能。如下图所示 ② Debug 运行该启动类等待项目启动完成。 ③ 每次修改 Java 代码后点击左下角的「热加载」按钮即可实现代码热加载。如下图所示 #2.2 存在问题 IDEA 自带 HowSwap 功能支持比较有限很多修改都不支持。例如说 只能增加方法或字段但不可以减少方法或字段只能增加可见性不能减少只能维持已有方法的签名而不能修改等等。 你可以认为只支持方法内的代码修改热加载。 如果想要相对完美的方案建议使用 JRebel 插件。 #3. JRebel 插件【最推荐】 JRebel 插件是目前最好用的热加载插件它支持 IDEA Ultimate 旗舰版、Community 社区版。
http://www.w-s-a.com/news/817392/

相关文章:

  • 网站建设 中山南充微网站建设
  • 企业网站更新什么内容免费设计软件下载
  • 夏天做哪些网站能致富做网站怎么每天更新内容
  • 个人网站的设计与开发网站建设流程中哪些部分比较重要
  • 招聘网站如何建设中国计算机网络公司排名
  • 工信部网站备案规定厦门在线制作网站
  • 商丘网站公司智联招聘手机app下载
  • 江西专业南昌网站建设中国专业的网站建设
  • 物流企业网站建设方案招标网站有哪些
  • 网站建设服务中企动力建筑工程网络进度计划备注填写范例
  • 电子商务网站开发与建设试卷php网站开发专业
  • 运城网站制作路90江苏省网站备案系统
  • 唐山做企业网站实体门店管理系统
  • 网站优化推广教程深圳网站建设世纪前线
  • 网站建设专家哪家好兰州网络推广执行
  • 广东住房和城乡建设厅网站王芃增加网站收录
  • 北京网站建设手机app电子商务网红营销的劣势
  • 网站 营销型wordpress获取4条文章标题
  • 浦东区建设工程监督网站建立全国统一的突发事件信息系统
  • 做网站需要基础吗重庆市造价信息网
  • 我要建设公司网站大连培训网站建设
  • 网站建设校长信箱设计方案小程序报价开发
  • 电子网站建设ppt模板营销策划方案怎么写?
  • 什么网站收录排名最高济南能源建设网站
  • 深圳移动网站建设公司价格桂林做网站哪家公司好
  • 互联网网站名字网站合作建设合同
  • 舟山高端网站设计广州优化排名推广
  • 哪个网站做免费广告好上海人才网站
  • cn域名做网站竞价推广代理
  • 省建设干部培训中心网站网站地图1 500 怎么做