微信团队确认私密朋友圈存在 bug,现已修复
微信团队今日上午通过微博回应了“私密朋友圈存在 bug”的问题。 https://weibo.com/1930378853/NAIzytG5Y 从网友的反馈来看,许多微信用户最近在发布私密朋友圈时,好友会在入口看到提醒朋友圈更新的“小红点头像”。但点进去却发现对方并没有发布新内容。 根据微信团队的回应,“私密朋友圈显示提醒”的 bug 仅在 1 月 1 日当天出现,并且是极小部分用户受影响。
MapStruct Plus 是 MapStruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷、优雅。
兼容内部类转换
示例:
@Data
@AutoMapper(target = Car.InnerClass.class)
public class InnerClassTarget {
private String f;
}
@Data
public class Car {
@Data
public static class InnerClass {
private String f;
}
}
@Test
public void innerClassTest() {
Car.InnerClass innerClass = new Car.InnerClass();
innerClass.setF("1111");
InnerClassTarget innerClassTarget = converter.convert(innerClass, InnerClassTarget.class);
Assert.equals(innerClassTarget.getF(), "1111");
System.out.println(innerClassTarget);
Car.InnerClass innerClass1 = converter.convert(innerClassTarget, Car.InnerClass.class);
Assert.equals(innerClass1.getF(), "1111");
System.out.println(innerClass1);
}
feature : AutoMapping 注解中的 targetClass 支持配置父类
AutoMapping 注解中的 targetClass 支持配置父类,当目标类是该配置的子类时,即可应用该规则。
issue#I8T7EF : 支持在父类中配置的 AutoMapping 注解
之前的版本中,在父类中配置的 AutoMapping 注解,并不会生效,在该版本中,解决了这个问题。
示例:
PDto
@Data
public class PDto {
@AutoMapping(targetClass = PVO.class, expression = "java(source.getSuccess() ? 1 : 0)")
private Boolean success;
}
PVO
@Data
public class PVO {
@AutoMapping(targetClass = PDto.class, expression = "java(source.getSuccess().equals(1) ? true : false)")
private Integer success;
}
SDto
@Data
@ToString(callSuper = true)
@AutoMapper(target = SVO.class)
public class SDto extends PDto {
private Long id;
}
SVO
@Data
@ToString(callSuper = true)
@AutoMapper(target = SDto.class)
public class SVO extends PVO {
private Long id;
}
测试
@Test
public void extendTest() {
SDto sDto = new SDto();
sDto.setId(111111L);
sDto.setSuccess(true);
SVO svo = converter.convert(sDto, SVO.class);
Assert.equals(svo.getId(), sDto.getId());
Assert.equals(svo.getSuccess(), 1);
System.out.println(svo);
SDto sDto1 = converter.convert(svo, SDto.class);
Assert.equals(sDto1.getId(), sDto.getId());
Assert.equals(sDto1.getSuccess(), sDto.getSuccess());
System.out.println(sDto1);
}
issue#I8QPRO : 框架自动生成的 AutoMapperConfig 和 AutoMapMapper 包和类名支持配置
增加了三个配置项,支持注解配置和启动参数配置:
autoConfigPackage:MapStructPlus 框架自动生成的配置类 --- AutoMapperConfig/AutoMapMapperConfig 所在的包路径
autoMapperConfigClassName:MapStructPlus 框架自动生成的的配置类(配置对象之间的转换)类名
autoMapMapperConfigClassName:MapStructPlus 框架自动生成的配置类(配置Map与对象之间的转换)类名
详情可以参考MapStructPlus - 指南 - 配置项
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。