Я изучал весну, особенно весенний ботинок.
Итак, я сделал проект, установил конфигурацию в этот проект. Но я плохо знал весну.
Так что я искал эти вещи, просто скопировал коды.
И теперь я нахожу странную вещь, которую я упомянул в заголовке. Пожалуйста, смотрите ниже коды.
@Configuration
@EnableWebMvc
public class WebMVCAutoConfig implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/*")
.addResourceLocations("classpath:/static/");
//I used this for get some images out of the project.
registry.addResourceHandler("/external/**")
.addResourceLocations("file:D:///resource/");
}
}
Как видите, оба аргумента addResourceHandler имеют * в аргументе.
Но я не могу понять, почему я должен использовать два * в нижнем коде.
Из того, что я пишу эти коды, когда я получаю доступ по http://localhost:port/pre-setting-url, это работает.
Но если я использую только один * в нижнем коде, предварительная настройка URL-адреса не работает. Я не могу получить изображения.
Я знаю значение * как «все», но это не так?
Что означают * и **
Помоги мне!
Спасибо.
/* означает любой ресурс непосредственно под /, например, /foo или /bar, но не /foo/something.
** также включает подресурсы, поэтому /external/** соответствует /external/foo/something или /external/foo/somethingelse.
Это круто и просто. большое спасибо. будь счастлив!