Как добавить статические ресурсы в Spring-boot по аннотации?

#spring #spring-mvc #spring-boot

#весна #spring-mvc #spring-boot

Вопрос:

Помимо предопределенных папок (таких как /static/ ), есть ли какой-либо способ настроить Spring Boot (не с помощью XML) для указания расположения статических ресурсов?

Например, начиная с этого руководства, мы добавляем еще один файл изображения, test1.jpg , как наш статический ресурс.

Вот окончательная структура каталогов:

 └── src
   └── main
       └── java
           └── hello
               └── Application.java 
               └── GreetingController.java
       └── resources
           └── templates
               └── greeting.html
           └── assets
               └── img
                   └── test1.jpg
  

Мы не меняли никакого кода Java из этого руководства, а только добавили одну дополнительную строку в greeting.html :

 <img src="test1.jpg" />
  

Тем не менее, наш greeting.html все еще не могу найти test1.jpg .

Может кто-нибудь дать нам несколько предложений?

Спасибо!!

Ответ №1:

Вы можете добавить @Bean тип WebMvcConfigurerAdapter и задать пути самостоятельно, например

     @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
            .addResourceLocations("classpath:/assets/img";
    }
  

Почему бы просто не использовать значения по умолчанию?