Spring MVC without configuration file

Spring MVC without configuration file

 

  1. Create a dynamic web project
  2. Implement 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");

    }

}

 

  1. 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("/**"));

       }

}

 

  1. 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;

       }

}

 

  1. 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";

               }

}

 

  1. Project structure

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值