تهيئة MVC في Spring Boot
استبدل WebMvcConfigurerAdapter المحذوف بـ WebMvcConfigurer مع الاحتفاظ بالتهيئة التلقائية لـ MVC في Spring Boot.
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(
ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(
ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
لا محوّل محذوف
يوفّر WebMvcConfigurer دوال افتراضية، فلا حاجة إلى وراثة فئة محوّل أساسية.
يحافظ على إعدادات Boot الافتراضية
دون @EnableWebMvc، يواصل Spring Boot تهيئة بنية MVC تلقائياً.
تجاوز ما يهم فقط
طبّق الواجهة وخصّص فقط نقطة ربط MVC التي يتطلبها التطبيق.
متاح في Spring Boot 4.0 مع Spring Framework 7.0 (يتطلب Java 17+)
كانت تطبيقات Spring Boot 1.x ترث عادةً من WebMvcConfigurerAdapter لأن واجهات Java لم تكن قادرة على توفير دوال افتراضية. توفّر إصدارات Spring Framework الحديثة تطبيقات افتراضية مباشرةً في WebMvcConfigurer، لذا طبّق الواجهة وتجاوز فقط الدوال التي تحتاجها. في تطبيق Spring Boot، لا تضف @EnableWebMvc إلا إذا كنت تريد عمداً التحكّم الكامل في تهيئة MVC؛ فهي تعطّل التهيئة التلقائية لـ MVC في Boot، بما فيها المحوّلات المعتادة ومعالجة الموارد الثابتة والإعدادات الافتراضية الأخرى.