Я читаю javadoc о @EnableWebMvc
.
Но я не понимаю, что означает эта аннотация?
Можете ли вы ясно выразить это?
Я читаю javadoc о @EnableWebMvc
.
Но я не понимаю, что означает эта аннотация?
Можете ли вы ясно выразить это?
Когда вы используете Java-код (в отличие от XML) для настройки вашего приложения Spring, @EnableWebMvc
используется для включения Spring MVC. Если вы еще не знакомы с поддержкой Spring для конфигурации Java, это хорошее место для запуска.
@EnableWebMvc
эквивалентен <mvc:annotation-driven />
в XML. Он позволяет поддерживать @Controller
-аннотированные классы, которые используют @RequestMapping
для сопоставления входящих запросов с определенным методом. Вы можете прочитать подробную информацию о том, что она настраивает по умолчанию, и как настроить конфигурацию в справочной документации .
Добро пожаловать в мир Spring. Вам нужно понять, прежде чем вы узнаете, что означает аннотация @EnableWebMVC
.
Spring традиционно поддерживает два типа конфигураций:
Эти аннотации, по сути, реализованы как часть MVC Java Config Design.
Рассмотрим простой класс:
@EnableWebMvc
@Configuration
public class WebConfig {
}
Нет базовых классов. Нет spring beans в поле зрения.. Хммм..
Давайте посмотрим немного дальше:
Ну, чтобы немного вас утомлять, он предоставляет много вещей вроде:
и еще несколько.
Ахаха... Но ваше приложение работает с ним правильно. Итак, где волшебство...?
@EnableWebMVC <---- What behind this..?
Это за ней:
@Retention(RetentionPolicy.RUNTIME)
@Import(DelegatingWebMvcConfiguration.class)
@Target(ElementType.TYPE)
public @interface EnableWebMvc {
}
Посмотрите, теперь вы подумали бы, как бессмысленно использовать @EnableWebMVC
. Вы бы предпочли:
@Bean
и другие доступные методыВы можете прочитать:
Надеюсь, это поможет.:)
Добавление этой аннотации в класс @Configuration импортирует конфигурацию MVC Spring из WebMvcConfigurationSupport