UserDTO userDTO = UserDTO.builder() .id(user.getId()) .username(user.getUsername()) .email(user.getEmail()) .build(); return ResponseEntity.ok(userDTO); } } 输出: 输出与手动创建DTO的示例相同。 4.在DTO中格式化不同类型的值 在DTO中格式化
用@SpringBootApplication标注的类,说明这个类是Spring Boot项目的主配置类。Spring Boot可以运行这个类的main()方法来启动Spring Boot项目。 @SpringBootApplication是一个组合注解,通过翻看@SpringBootApplication的源码发现,它是由下列的注解组合而成: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @...
在dao 和 service 中都有关系,属于依赖关系。即:dao,service 依赖 DTO 类来传输数据对象 依赖:是类 A 使用到了另一个类 B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是 B 类的变化会影响到 A; 比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖,表现在代码层面为:类B(DTO)作为参...
dto也是这样的情况,比如新增用户,用UserAddDTO对象接收,放在web层和service层,都会导致dao层没有这个对象。(这里我重点说明一下,为什么dao层会直接用到vo或者是dto呢?因为有时候大部分的场景都是很简单的,web层接收-入库 完事,没必要定义一些冗余的对象来回的转) 上面是我举的例子,是问题的现状,我其实很不喜欢定...
2.Service 层:包含了业务逻辑,负责处理来自 Controller 的请求,执行操作,并返回响应。在 Service 层中,你可能会遇到 DTO 和 Entity。 DTO:Service 层可能会接收来自 Controller 的 DTO,进行业务逻辑处理,并且可能需要将 DTO 转换为 Entity 来进行数据库操作。处理完成后,Service 层可能会将结果封装在另一个 DTO ...
一. PO、VO、DAO、BO、DTO 和 POJO 对比 在Spring Boot开发中,我们经常会听到一些概念,例如PO、VO、DAO、BO、DTO和POJO。这些术语看起来相似,但它们之间有着不同的含义和用途。接下来解释一下他们之间的区别: 1. PO (Persistent Object) 用于表示数据库中的持久化对象,通常与数据库表的结构一一对应。它是与...
public ApiResponse<UserDTO> createUser(UserDTO dto) { // 业务逻辑实现 User user = User.builder().username(dto.getUsername()).build(); User savedUser = userRepository.save(user); return ApiResponse.success(UserDTO.fromEntity(savedUser)); ...
3. 【强制】类名使用UpperCamelCase风格,但以下情形例外:DO / BO / DTO / VO / AO / PO等, 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion 后缀表达额外的意思,如下表: ...
视频介绍了基于SpringBoot的房屋租赁系统项目结构,该项目为前后端分离架构。后端部分包括common模块(存放返回前端的数据和状态码)、config模块(包含数据库连接池配置与安全配置)、controller层(负责请求转发及参数传递)、dao层(通过MyBatis操作数据库)、DTO(数据传输对象)、exception(全局异常处理)、pojo(实体类定义)、serv...
MapStruct是一款非常实用Java工具,主要用于解决对象之间的拷贝问题,比如PO/DTO/VO/QueryParam之间的转换问题。区别于BeanUtils这种通过反射,它通过编译器编译生成常规方法,将可以很大程度上提升效率。 常用类库 - 其它常用类库 其它常用类库体系很庞大,但是工具类的原则是只需要查找会使用即可。 开发之代码质量保障 B1....