Spring MVC without configuration file

xiaoxiao2025-06-11  29

Spring MVC without configuration file

 

Create a dynamic web projectImplement your own WebApplicationInitializer

public class MyWebApplicationInitializer implements WebApplicationInitializer {

 

    @Override

    public void onStartup(ServletContext servletCxt) {

 

 

        // Load Spring web application configuration

        AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();

             ac.register(WebConfig.class, ViewConfig.class);

 

        // Create and register the DispatcherServlet

        DispatcherServlet servlet = new DispatcherServlet(ac);

        ServletRegistration.Dynamic registration = servletCxt.addServlet("app", servlet);

        registration.setLoadOnStartup(1);

        registration.addMapping("*.do");

    }

}

 

Implement WebMvcConfigurer

@Configuration

@EnableWebMvc

@ComponentScan("net.ly.blue.user")

public class WebConfig implements WebMvcConfigurer {

 

       @Override

       public void addResourceHandlers(ResourceHandlerRegistry registry) {

             System.out.println("------------------ addResourceHandlers");

              registry.addResourceHandler("/resources/**").addResourceLocations("/public/").resourceChain(true)

                           .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"));

       }

}

 

Add view resolver

@Configuration

public class ViewConfig {

 

       @Bean

       public ViewResolver urlBasedViewResolver() {

             UrlBasedViewResolver viewResolver;

             viewResolver = new UrlBasedViewResolver();

             viewResolver.setOrder(2);

             // viewResolver.setPrefix(""/WEB-INF/);

             viewResolver.setSuffix(".jspx");

             viewResolver.setViewClass(JstlView.class);

             // for debug envirment

             viewResolver.setCache(false);

             return viewResolver;

       }

       @Bean

       public ViewResolver resourceViewResolver() {

             InternalResourceViewResolver viewResolver=new InternalResourceViewResolver();

             viewResolver.setOrder(1);

             viewResolver.setPrefix("");

             viewResolver.setSuffix(".jsp");

             return viewResolver;

       }

}

 

Write a simple controller

package net.ly.blue.user;

 

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

 

@Controller

@RequestMapping("/sayHello")

public class HelloController {

               @RequestMapping(method = RequestMethod.GET)

               public String printHello(ModelMap model) {

                              model.addAttribute("message", "Hello Spring MVC Framework!");

                              System.out.println("enter hello");

                             

                              return "hello";

               }

}

 

Project structure

     

转载请注明原文地址: https://www.6miu.com/read-5031656.html

最新回复(0)