Spring Boot static静的リソースが問題にアクセスできない


以前はdemoをしていましたが、当時は注意していませんでしたが、静的リソースにアクセスできないことがわかりました.
    Spring Bootはclasspath:/static/以下のリソースを自動的に静的リソースとして構成し、その後、ネット上で多くの方法を探して試したが、解決できなかった.
    そこで私はプロジェクトを書き直して、この古いプロジェクトの構成を一つ一つ移動して、最後に私が構成したブロックの問題であることを発見しました.私がブロッキングを構成して継承したクラスは、WebMvcConfigurationSupportというクラスであり、spring bootの自動構成を失効させるからです.
    どうやって解決しますか?
    1つ目は、WebMvcConfigurerAdapterを継承することができます.もちろん、1.8+WebMvcConfigurerAdapterというクラスが古い場合は、WebMvcConfigurerインタフェースを直接実装し、addInterceptorsを書き換えてブロッキングを追加することができます.
1
2
3
4
5
6
7
8
9
10 @Configuration public   class   InterceptorConfig  implements   WebMvcConfigurer {
       @Override      public   void   addInterceptors(InterceptorRegistry registry) {          registry.addInterceptor( new   UserInterceptor()).addPathPatterns( "/user/**" );          WebMvcConfigurer. super .addInterceptors(registry);      }
  }
    または、WebMvcConfigurationSupportを継承し、addResourceHandlersメソッドを書き換えます.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 @Configuration public   class   InterceptorConfig  extends   WebMvcConfigurationSupport {
       @Override      protected   void   addInterceptors(InterceptorRegistry registry) {          registry.addInterceptor( new   UserInterceptor()).addPathPatterns( "/user/**" );          super .addInterceptors(registry);      }             @Override      protected   void   addResourceHandlers(ResourceHandlerRegistry registry) {          registry.addResourceHandler( "/**" ).addResourceLocations( "classpath:/static/" );          super .addResourceHandlers(registry);      }        }
変換元:https://www.acgist.com/article/488.html