SpringMVC入门案例

SpringMVC入门案例,第1张

文章目录
    • SpringMVC配置类
    • Controller
    • Servlet容器初始化的配置类
    • 流程分析

SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。

  <dependencies>
    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>javax.servlet-apiartifactId>
      <version>3.1.0version>
      <scope>providedscope>
    dependency>

    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webmvcartifactId>
      <version>5.2.10.RELEASEversion>
    dependency>
  dependencies>

SpringMVC配置类
// 配置类
@Configuration
@ComponentScan("controller")
public class SpringMVCConfig {

}
Controller
// 等同于 Sevlet的功能
// 它必须是受 SpringMVC 管理的 bean
@Controller
public class UserController {

    @RequestMapping("/save")    // 设置请求访问路径
    @ResponseBody               // 设置响应内容为当前返回值,无需解析
    public String save(){
        // 处理请求
        System.out.println("user save ...");
        return "{'info':'springmvc'}";
    }
}
Servlet容器初始化的配置类
// Servlet容器初始化的配置类
// 作用: 启动服务器的时候把SpringMVC加载上
public class SevletContainersInitConfig extends AbstractDispatcherServletInitializer {
    @Override
    // 加载 SpringMVC配置 对应的容器对象
    protected WebApplicationContext createServletApplicationContext() {
        // 初始化容器对象
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(SpringMVCConfig.class);    // 将SpringMVC配置类注册到容器中
        return ctx;
    }
    @Override
    // 所有的请求 都归 SpringMVC 处理
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    @Override
    // 加载 Spring配置 对应的容器对象
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }
}
AbstractDispatcherServletInitializer 类是SpringMVC提供的快速初始化 Web 3.0容器的抽象类
createServletApplicationContext()方法,创建 Servlet容器时,加载SpringMVC对应的bean并放入
WebApplicationContext对象范围中,WebApplicationContext的作用范围为 ServletContext范围,即整个Web容器范围

Tomcat服务器一启动,就会把 createServletApplicationContext() 返回的容器加载到 Tomcat的容器中了
这样就可以在 Tomcat中访问到 SpringMVC 的容器了
流程分析

Tomcat服务器启动以后,首先是加载服务器的配置,在Web3.0的规范中,不用web.xml了,而是使用配置类来做。
执行完 SevletContainersInitConfig 这个类以后,首先初始化了Web容器。
之后 createServletApplicationContext() 这个方法返回了一个SpringMVC容器,即 WebAppplicationContext,具体加载到了Web容器中的
ServletContext里。WebApplicationContext里面加载SpringMVC管理的Bean

Spring容器 SpringMVC容器 web容器的关系
webApplicationContext 与servletContext

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/787048.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-05
下一篇2022-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存