zoukankan      html  css  js  c++  java
  • 一个项目中:只能存在一个 WebMvcConfigurationSupport (静态文件失效之坑)

    一个项目中:只能存在一个 WebMvcConfigurationSupport

    在一个项目中WebMvcConfigurationSupport只能存在一个,多个的时候,只有一个会生效。

    静态文件访问失效原因:写配置的时候,没有注意,在网上找的代码,静态文件放行的配置,在几天前经过各种尝试,什么application.properties里面配置无效,需要通过自定义实现代码放行静态配置,

     

     改成下面的编码方式放行静态资源:都是正常的

    后来下面中需要用到 IdWorker生成主键,但是在返回给前端页面时,数据精度经常丢失,很难保证精度,于是网上寻找解决办法,最终采用如下方法:

    目录结构如下:

     由于这两个配置都继承了WebMvcConfigurationSupport ,只能有一个生效

     

    导致原来的静态文件放行已经失效了

    解决办法:

    方案一:将LongToJsonConfig的继承去掉

    方案二:将两个配置写在一个类里面。

    很不幸的是:我采用方案一,结果静态文件好了,但是转换器转换文件失败了。

    修改完成后静态文件能够正常访问了:

     尴尬的事情是一个接着一个,刚刚把静态文件恢复正常了,忘了测试idworker了,一测试发现不能够正常转换了,你说尴尬不尴尬啊。

     下面是两条idworker生成的数据库数据。

     rest接口测试工具测试时还是正常的:

    vue前台进行访问时:

     精度还是丢失了,改用方案二:

     前端vue正常返回数据

    打开WebMvcConfigurationSupport类,发现有一个和当前转化器配置同名方法,由于网上的找的,没有说明是配置类的重写的方法,导致判断失误。

    综上所述:自定义转化器必须重写WebMvcConfigurationSupport 的 configureMessageConverters方法

     源码上面的翻译;

    这是一个大坑,折腾了一天半,希望对遇到的朋友有所帮助~~~

     博客翻了不下100篇,都是讲的怎么放行静态资源通过自定义方法,这根本不是我想要的,最后还是应该感谢这位兄弟:一句不经意的话提醒了我,万分感谢~~~

    https://blog.csdn.net/wodeshouji6/article/details/93076011

  • 相关阅读:
    ExtJs自学教程(1):一切从API開始
    c++多态的案例分析
    pig中使用的一些实例语法
    6.跑步者--并行编程框架 ForkJoin
    移动加密那点事儿_值存储加密
    手工制作的年份Java老A发售量
    【C语言的日常实践(十六)】字符串输出功能puts、fputs和printf
    POJ 1852 Ants
    HDU 4793 2013 Changsha Regional Collision[简单的平面几何]
    BZOJ 1355 Baltic2009 Radio Transmission KMP算法
  • 原文地址:https://www.cnblogs.com/gaogaoyanjiu/p/11285686.html
Copyright © 2011-2022 走看看