Spring Boot MVC কনফিগারেশন
অপসারিত WebMvcConfigurerAdapter-কে WebMvcConfigurer দিয়ে প্রতিস্থাপন করুন এবং Spring Boot-এর MVC auto-configuration বজায় রাখুন।
@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");
}
}
অপসারিত adapter নেই
WebMvcConfigurer default method দেয়, তাই extend করার মতো কোনো adapter superclass নেই।
Boot-এর default বজায় রাখে
@EnableWebMvc ছাড়া Spring Boot স্বয়ংক্রিয়ভাবে MVC infrastructure configure করতে থাকে।
শুধু প্রয়োজনীয় অংশ override
interface-টি implement করে অ্যাপ্লিকেশনের প্রয়োজনীয় MVC hook-টিই কাস্টমাইজ করুন।
Spring Framework 7.0 সহ Spring Boot 4.0-এ উপলব্ধ (Java 17+ প্রয়োজন)
Java interface-এ default method দেওয়া যেত না বলে Spring Boot 1.x অ্যাপ্লিকেশনগুলো সাধারণত WebMvcConfigurerAdapter extend করত। আধুনিক Spring Framework সংস্করণগুলো WebMvcConfigurer-এ সরাসরি default implementation দেয়, তাই interface-টি implement করে শুধু প্রয়োজনীয় methodগুলো override করুন। Spring Boot অ্যাপ্লিকেশনে ইচ্ছাকৃতভাবে MVC configuration-এর পূর্ণ নিয়ন্ত্রণ নিতে না চাইলে @EnableWebMvc যোগ করবেন না। এটি Boot-এর MVC auto-configuration নিষ্ক্রিয় করে, যার মধ্যে প্রচলিত converter, static-resource handling এবং অন্যান্য default অন্তর্ভুক্ত।