Когда реализовать WebMvcConfigurer для настройки Spring MVC? - PullRequest
1 голос
/ 01 июля 2019

Я изучаю Spring MVC с конфигурацией Java (без xml), и у меня есть простой вопрос.Я вижу 2 подхода к созданию конфигурации bean-компонента Spring:

подход 1:

@Configuration
@EnableWebMvc
@ComponentScan(basePackages="com.demo.springmvc")
public class DemoAppConfig {

    // define a bean for ViewResolver

    @Bean
    public ViewResolver viewResolver() {

        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();

        viewResolver.setPrefix("/WEB-INF/view/");
        viewResolver.setSuffix(".jsp");

        return viewResolver;
    }

}

подход 2:

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example")
public class SpringConfig implements WebMvcConfigurer{

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/pages/");
        viewResolver.setSuffix(".jsp");

        return viewResolver;
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

}

Таким образом, один из способов заключается в реализации интерфейса WebMvcConfigurer иеще один способ не реализовать интерфейс WebMvcConfigurer.Я хочу спросить вас, в чем разница?Что происходит, когда я реализую этот интерфейс, и что происходит, когда я его не реализую.Любые отзывы будут оценены.

1 Ответ

0 голосов
/ 01 июля 2019

Реализация WebMvcConfigurer позволяет настроить конфигурацию Spring MVC.Для всех нереализованных методов используются значения по умолчанию.

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurer.html


Что касается @Bean public ViewResolver viewResolver(), расположение этого определения бина фактически не связано с этим классом.и может быть размещен в любом месте, где Spring сканирует бобы.Руководство, возможно, немного сбивает с толку и оставляет впечатление, что эти две вещи как-то связаны.

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