Почему это не позволяет мне переопределить метод addViewControllers из интерфейса WebMvcConfigurer? - PullRequest
0 голосов
/ 01 ноября 2019

Контекст:

1 - запуск нового загрузочного веб-приложения Spring;2 - Класс WebMvcConfig, реализующий интерфейс WebMvcConfigurer

Код скопирован из предыдущего проекта Spring MVC, где он работает.

STS предлагает удалить аннотацию переопределения, и удаление действительно приводит к исчезновению ошибки, но мояНамерение состоит в том, чтобы переопределить метод, а также, будет ли он работать без переопределения?

import javax.sql.DataSource;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import org.springframework.web.servlet.view.JstlView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;

@Configuration
@ComponentScan("com.xxxxxx.mwadmin")
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

    @Bean
    public DataSource dataSource(){
        final JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
        dsLookup.setResourceRef(true);
        DataSource dataSource = dsLookup.getDataSource("jdbc/springdb");
        return dataSource;

    }

    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping() {
        RequestMappingHandlerMapping rmhm = new RequestMappingHandlerMapping();
        rmhm.setUseSuffixPatternMatch(true);
        rmhm.setUseTrailingSlashMatch(true);
        return rmhm;
    }

    @Bean
    public UrlBasedViewResolver urlBasedViewResolver() {
        UrlBasedViewResolver resolver = new UrlBasedViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setViewClass(JstlView.class);

        return resolver;
    }

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {

        registry.addViewController("/").setViewName("home");

    }

}

Проблема:

В моем конфигурационном классе STS отображается ошибка "Метод addViewControllers (ViewControllerRegistry) изТип WebMvcConfig должен переопределить метод суперкласса ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...