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

家具网站建设wordpress文章模版

家具网站建设,wordpress文章模版,大庆城乡建设局网站首页,网站链接加密怒发冲冠#xff0c;凭阑处、潇潇雨歇。抬望眼#xff0c;仰天长啸#xff0c;壮怀激烈。三十功名尘与土#xff0c;八千里路云和月。莫等闲、白了少年头#xff0c;空悲切。 靖康耻#xff0c;犹未雪。臣子恨#xff0c;何时灭。驾长车#xff0c;踏破贺兰山缺。壮志饥… 怒发冲冠凭阑处、潇潇雨歇。抬望眼仰天长啸壮怀激烈。三十功名尘与土八千里路云和月。莫等闲、白了少年头空悲切。 靖康耻犹未雪。臣子恨何时灭。驾长车踏破贺兰山缺。壮志饥餐胡虏肉笑谈渴饮匈奴血。待从头、收拾旧山河朝天阙。 ——《满江红》 岳飞 系列文章目录 项目搭建App登录及网关App文章自媒体平台博主后台内容审核(自动)Long类型精度丢失问题 一、存在的问题 前端的 Number 数据类型能够表示的整数范围是从 -9007199254740992 ~ 9007199254740992包含边界值 如下图后端返回的 id 超过 9007199254740992 范围时会导致精度丢失超过16位后的数字都是 0 二、JacksonFilter 当后端响应给前端的数据中包含了 id 或者 特殊标识可自定义的时候把当前数据进行转换为 String 类型当前端传递后后端的 dto 中有 id 或者 特殊标识可自定义的时候把当前数据转为 Integer 或 Long 类型 三、自定义注解 作用 在需要转换类型的字段属性上用于非id的属性上 新建 heima-leadnews-model\src\main\java\com\heima\model\common\annotation\IdEncrypt.java 文件 JacksonAnnotation Retention(RetentionPolicy.RUNTIME) Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) public interface IdEncrypt { }四、序列化和反序列化类 1. 用于序列化自增数字的混淆 新建 heima-leadnews-model\src\main\java\com\heima\model\common\annotation\IdEncrypt.java 文件 JacksonAnnotation Retention(RetentionPolicy.RUNTIME) Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) public interface IdEncrypt { }2. 用于反序列化自增数字的混淆解密 新建 heima-leadnews-common\src\main\java\com\heima\common\jackson\ConfusionDeserializer.java 文件 public class ConfusionDeserializer extends JsonDeserializerObject {JsonDeserializerObject deserializer null;JavaType type null;public ConfusionDeserializer(JsonDeserializerObject deserializer, JavaType type){this.deserializer deserializer;this.type type;}Overridepublic Object deserialize(JsonParser p, DeserializationContext ctxt)throws IOException{try {if(type!null){if(type.getTypeName().contains(Long)){return Long.valueOf(p.getValueAsString());}if(type.getTypeName().contains(Integer)){return Integer.valueOf(p.getValueAsString());}}return IdsUtils.decryptLong(p.getValueAsString());}catch (Exception e){if(deserializer!null){return deserializer.deserialize(p,ctxt);}else {return p.getCurrentValue();}}} }3. 用于过滤序列化时处理的字段 新建 heima-leadnews-common\src\main\java\com\heima\common\jackson\ConfusionSerializerModifier.java 文件 public class ConfusionSerializerModifier extends BeanSerializerModifier {Overridepublic ListBeanPropertyWriter changeProperties(SerializationConfig config,BeanDescription beanDesc, ListBeanPropertyWriter beanProperties) {ListBeanPropertyWriter newWriter new ArrayList();for(BeanPropertyWriter writer : beanProperties){String name writer.getType().getTypeName();if(null writer.getAnnotation(IdEncrypt.class) !writer.getName().equalsIgnoreCase(id)){newWriter.add(writer);} else {writer.assignSerializer(new ConfusionSerializer());newWriter.add(writer);}}return newWriter;} }4. 用于过滤反序列化时处理的字段 新建 heima-leadnews-common\src\main\java\com\heima\common\jackson\ConfusionDeserializerModifier.java 文件 public class ConfusionDeserializerModifier extends BeanDeserializerModifier {Overridepublic BeanDeserializerBuilder updateBuilder(final DeserializationConfig config, final BeanDescription beanDescription, final BeanDeserializerBuilder builder) {Iterator it builder.getProperties();while (it.hasNext()) {SettableBeanProperty p (SettableBeanProperty) it.next();if ((null ! p.getAnnotation(IdEncrypt.class)||p.getName().equalsIgnoreCase(id))) {JsonDeserializerObject current p.getValueDeserializer();builder.addOrReplaceProperty(p.withValueDeserializer(new ConfusionDeserializer(p.getValueDeserializer(),p.getType())), true);}}return builder;} }5. 用于注册模块和修改器 新建 heima-leadnews-common\src\main\java\com\heima\common\jackson\ConfusionModule.java 文件 public class ConfusionModule extends Module {public final static String MODULE_NAME jackson-confusion-encryption;public final static Version VERSION new Version(1,0,0,null,heima,MODULE_NAME);Overridepublic String getModuleName() {return MODULE_NAME;}Overridepublic Version version() {return VERSION;}Overridepublic void setupModule(SetupContext context) {context.addBeanSerializerModifier(new ConfusionSerializerModifier());context.addBeanDeserializerModifier(new ConfusionDeserializerModifier());}/*** 注册当前模块* return*/public static ObjectMapper registerModule(ObjectMapper objectMapper){//CamelCase策略Java对象属性personId序列化后属性persionId//PascalCase策略Java对象属性personId序列化后属性PersonId//SnakeCase策略Java对象属性personId序列化后属性person_id//KebabCase策略Java对象属性personId序列化后属性person-id// 忽略多余字段抛错objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); // objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);return objectMapper.registerModule(new ConfusionModule());}}6. 自动化配置 提供自动化配置默认ObjectMapper让整个框架自动处理id混淆 新建 heima-leadnews-common\src\main\java\com\heima\common\jackson\InitJacksonConfig.java 文件 Configuration public class InitJacksonConfig {Beanpublic ObjectMapper objectMapper() {ObjectMapper objectMapper new ObjectMapper();objectMapper ConfusionModule.registerModule(objectMapper);return objectMapper;}}五、自动配置 新建 heima-leadnews-common\src\main\resources\META-INF\spring.factories 文件 org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.heima.common.exception.ExceptionCatch,\com.heima.common.swagger.SwaggerConfiguration,\com.heima.common.swagger.Swagger2Configuration,\com.heima.common.aliyun.GreenImageScan,\com.heima.common.aliyun.GreenTextScan,\com.heima.common.tess4j.Tess4jClient,\com.heima.common.redis.CacheService,\com.heima.common.jackson.InitJacksonConfig六、标识字段 在dto中传递参数的时候如果想要把数值类型转为json可以使用IdEncrypt标识字段进行转换如下 Data public class ArticleInfoDto {// 文章IDIdEncryptLong articleId; }
http://www.dnsts.com.cn/news/198974.html

相关文章:

  • 17.zwd一起做网站不死鸟分享友情链接
  • 郑州网站推广电话保定建设工程信息网站
  • 网站建设的可行性分析平台开发是做什么的
  • 深圳商业网站建设怎么样网站开发背景400字
  • wordpress文章模块化插件手机网站seo软件
  • 湖南广源建设工程有限公司网站ui是什么设计
  • 廉溪区建设局网站更换网站需要备案吗
  • 莆田seo建站网站怎样做微信公众号
  • 沧州网站seo交易链接大全
  • 网站做分屏好不好ucenter wordpress
  • 做充币提现的网站自己建设网站
  • 郑州优化网站公司seo网站排名优化服务
  • 手机高端网站开发单位网站改版
  • 百度 站长工具公司简介电子版宣传册模板
  • phpcms旅游网站模板长沙岳麓区房价
  • 深圳品牌建网站营销推广案例
  • 模板建站费用南通网站建设.
  • 公众号自己做电影网站什么是电子商务?
  • a站怎么进西安维护网站
  • 制作一般网站wordpress资料图片
  • 这样做自己的网站西安网站创建
  • 编译django做的网站可视化数据平台
  • 高端大气网站鹤壁seo推广
  • 个人博客网站建设怎样建设旅游网站
  • 专门做礼品的网站新郑整站优化
  • 成都手机模板建站北京大数据公司排行
  • 做旅游网站能成功快速刷网站排名
  • 网站开发项目管理什么行业愿意做网站
  • 农业做的好的网站短视频推广的优势
  • 中国工程建设招标网官方网站个性化网站模板