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

建设医院网站ppt模板学习php网站开发

建设医院网站ppt模板,学习php网站开发,怎么在百度推广自己的网站,网站做移动端老铁们是不是经常为写一些实体转换的原始代码感到头疼#xff0c;尤其是实体字段特别多的时候。介绍一个开源项目 mapstruct #xff0c;可以轻松优雅的进行转换#xff0c;简化你的代码。当然有的人喜欢写get set#xff0c;或者用BeanUtils 进行复制#xff0c;代码只是…老铁们是不是经常为写一些实体转换的原始代码感到头疼尤其是实体字段特别多的时候。介绍一个开源项目 mapstruct 可以轻松优雅的进行转换简化你的代码。当然有的人喜欢写get set或者用BeanUtils 进行复制代码只是工具本文只是提供一种思路。 先贴下官网地址吧https://mapstruct.org 一、MapStruct 的基本概念 映射器Mapper 在 MapStruct 中映射器是一个 Java 接口用于指定两个 JavaBean 之间的映射。映射器通常使用注解进行注释以指定映射器的输入类型和输出类型。映射器定义了转换的规则和逻辑。映射器工厂MapperFactory 映射器工厂是 MapStruct 中的核心组件之一。它负责创建映射器实例并维护映射器的缓存。在应用程序中通常只需要创建一个映射器工厂实例然后使用它来创建所有的映射器。映射器配置MapperConfig 映射器配置是 MapStruct 中的另一个核心组件用于指定映射器的行为和配置。在映射器配置中可以定义类型转换器、映射器实现类和其他映射器配置选项。映射器生命周期方法Lifecycle Methods 映射器生命周期方法是 MapStruct 提供的一个特性它允许在映射器实例创建和销毁时执行自定义逻辑。映射器生命周期方法可以用来进行一些初始化和清理工作。映射器选项Mapper Options 映射器选项是 MapStruct 提供的另一个特性它允许在映射器级别指定一些选项和配置。映射器选项可以用来控制映射器的行为和性能。 二、MapStruct 的使用 环境搭建 在使用 MapStruct 之前需要先配置环境。MapStruct 的最新版本可以在官网上下载。MapStruct 是一个注解处理器因此还需要将 MapStruct 添加到 Maven 或 Gradle 项目中。 映射器定义 定义一个映射器需要创建一个 Java 接口并使用 Mapper 注解注释它。在映射器接口中可以定义多个映射方法。每个映射方法的输入类型和输出类型必须在 Mapper 注解中进行声明。 例如假设有两个 JavaBean分别为 Person 和 PersonDto它们的属性如下 public class Person {private Long id;private String name;private int age;// getters and setters }public class PersonDto {private Long id;private String fullName;private int age;// getters } 假设需要将 Person 转换为 PersonDto可以定义一个映射器如下 Mapper public interface PersonMapper {PersonMapper INSTANCE Mappers.getMapper( PersonMapper.class );Mapping(source name, target fullName)PersonDto personToDto(Person person); } 在上面的代码中Mapper 注解指定了映射器的输入类型和输出类型。PersonMapper 接口中定义了一个映射方法 personToDto用于将 Person 对象转换为 PersonDto 对象。Mapping 注解指定了属性之间的映射关系。 映射器工厂创建 创建一个映射器工厂需要使用 MapStruct 提供的工厂类 Mappers。Mappers.getMapper() 方法接受一个映射器接口的 Class 对象作为参数并返回一个映射器实例。 例如可以使用以下代码创建 PersonMapper 实例 PersonMapper mapper PersonMapper.INSTANCE; 映射器使用 使用映射器进行转换只需要调用映射器的相应方法即可。例如可以使用以下代码将 Person 对象转换为 PersonDto 对象 Person person new Person(); person.setId(1L); person.setName(John); person.setAge(30);PersonDto personDto mapper.personToDto(person); 在上面的代码中创建了一个 Person 对象并设置了它的属性值。然后调用映射器的 personToDto 方法将 Person 对象转换为 PersonDto 对象。 映射器配置 可以使用 MapperConfig 注解定义一个映射器配置。在映射器配置中可以定义类型转换器、映射器实现类和其他映射器配置选项。映射器配置可以在映射器接口中进行引用从而影响映射器的行为和性能。 例如可以定义一个映射器配置如下 MapperConfig public interface MyMapperConfig {Mappings({Mapping(source address.street, target street),Mapping(source address.city, target city),Mapping(source address.country, target country)})PersonDto personToDto(Person person); } 在上面的代码中定义了一个 MyMapperConfig 配置类它包含一个 personToDto 映射器方法。在这个方法中使用 Mapping 注解指定了属性之间的映射关系。 可以在映射器接口中引用这个配置类如下所示 Mapper(config MyMapperConfig.class) public interface PersonMapper {PersonMapper INSTANCE Mappers.getMapper( PersonMapper.class );PersonDto personToDto(Person person); }在上面的代码中Mapper 注解中使用 config 属性引用了 MyMapperConfig 配置类。 高级特性 类型转换器 MapStruct 可以自动进行基本类型和常见类型的转换但是如果需要转换自定义类型或者复杂类型可以使用类型转换器。 类型转换器是一个静态方法接受一个参数并返回一个转换后的结果。例如可以定义一个将 LocalDate 转换为 Date 的类型转换器如下 javaCopy codepublic class DateMapper {public static Date toDate(LocalDate localDate) {return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());} }在上面的代码中定义了一个 toDate 类型转换器它接受一个 LocalDate 参数并返回一个转换后的 Date 对象。 然后可以在映射器接口中使用 Mapper 的 uses 属性引用这个类型转换器如下所示 javaCopy codeMapper(uses DateMapper.class) public interface PersonMapper {PersonDto personToDto(Person person); }在上面的代码中Mapper 注解中使用 uses 属性引用了 DateMapper 类型转换器。 注解 MapStruct 支持自定义注解可以使用这些注解来控制映射器的行为。例如可以定义一个 UpperCase 注解用于将字符串属性转换为大写。 javaCopy codeTarget(ElementType.FIELD) Retention(RetentionPolicy.CLASS) public interface UpperCase { }在上面的代码中定义了一个 UpperCase 注解它可以应用在字段上。 然后可以在映射器接口中使用 Mapping 注解的 qualifiedBy 属性引用这个注解如下所示 javaCopy codeMapper public interface PersonMapper {Mapping(source name, target fullName, qualifiedBy UpperCase.class)PersonDto personToDto(Person person); }在上面的代码中Mapping 注解中使用 qualifiedBy 属性引用了 UpperCase 注解。 最后需要定义一个 BeforeMapping 方法用于在映射之前将字符串属性转换为大写如下所示 javaCopy codeMapper public interface PersonMapper {BeforeMappingdefault void toUpperCase(MappingTarget PersonDto personDto, MappingSource Person person) {personDto.setFullName(personDto.getFullName().toUpperCase());}Mapping(source name, target fullName, qualifiedBy UpperCase.class)PersonDto personToDto(Person person); }在上面的代码中定义了一个 toUpperCase 方法在映射之前将 fullName 属性转换为大写。可以使用 BeforeMapping 注解标记这个方法并指定 MappingTarget 和 MappingSource 参数这样 MapStruct 就可以正确地注入映射器的输入和输出对象。
http://www.hkea.cn/news/14322292/

相关文章:

  • 网站建设有哪些渠道在哪可以建一个网站
  • 盘锦做网站选哪家郑州市网站制作公司
  • 建立网站的基本步骤关键词语有哪些
  • 唐山设计网站公司网站建设专题
  • 山西省城乡建设厅网站如何做网站实名认证
  • lnmp wordpress 404seo综合查询怎么用
  • 网站制作的服务商欧美做爰爰爰爰网站
  • 做外贸网站需要注意些什么房产信息网网址
  • dede移动端网站源码更改wordpress最大文件
  • 网站建设的编程技术医药公司网站设计
  • 个人做网站可以盈利么wordpress子域名储存图片
  • 荣耀手机商城官方网站登录入口在线优化网站
  • 网站设计与制wordpress 百度知道主题
  • 重庆站外推广网站林州企业网站建设
  • 潍坊网站制作熊掌号官方正版浏览器
  • 网站后台登录系统是怎么做的上海网站建设技术托管
  • 沧州*网站建设免费推广网站入口2023燕
  • wordpress登录网站做游戏模型挣钱的网站
  • 湖北省建设局网站企业网站建设怎么选择空间
  • 上海微信网站仪征市建设工程网站
  • 教育响应式网站建设青岛美容化妆品外贸网站建设
  • 如何查询网站开发语言抚顺营销型网站建设
  • 全国培训加盟网站建设哪个是网络营销导向网站建设的基础
  • 模板网站搭建linux 安装wordpress
  • 南皮网站建设腾讯云建站平台
  • 免费网站建设能做吗筑招网
  • 国外免费素材模板网站用几个域名做网站好
  • 做名人故居的网站多少钱东莞市优速网络科技有限公司
  • 东莞寮步网站建设wordpress安装在windows上
  • 抚州市建设局官网站什么是网络科技公司