WebMvcConfigurerAdapter не работает
Это код WebConfig, над которым я работаю:
package hello.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/greeting").setViewName("greeting");
}
}
И это мой Application.class
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@SpringBootApplication
public class Application extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
Кажется, это проблема начальной загрузки, что эти методы класса не вызываются в некоторых системах. Соответствующая проблема сообщается по адресу:https://github.com/spring-projects/spring-boot/issues/2870
Мой вопрос заключается в том, можем ли мы сопоставить ресурсы, сопоставленные в этом классе, за пределами этого класса в качестве временного обходного пути?
Если да, как мы это сделаем?
Обновить: Следуя совету Энди Уилкинсона, я удалил@EnableWebMvc
и демо-приложение начало работать. Затем я попытался удалить файлы проекта один за другим, чтобы увидеть, в какой момент ошибка исчезает. Я обнаружил, что у меня было два класса в проекте, один, расширенный отWebMvcConfigurationSupport
а второй, изWebMvcConfigurerAdapter
, удаление прежнего класса из проекта исправило ошибку.
Я хочу знать, почему это случилось? Во-вторых, почему эта ошибка не появляется во всех системах?