SpringMVC 学习—框架简介,搭建框架入门案例

一.SpringMVC简介

1.什么是MVC

MVC是一种软件架构的思想,将软件按照模型,视图,控制器来划分

M:Model,模型层,指工程中的JavaBean,作用是处理数据

        JavaBean分为俩类:

                ·一类称为实体类Bean:专门用来存储业务数据,如Stuent,User等。

                ·一类称为业务处理Bean指Service或Dao对象,专门用于处理业务逻辑和数据访问

V:View,视图层,指功能中的html和jsp页面,作用是与用户进行交互,展示数据

C:Controller,控制层,指工程中的Servlet作用是接收请求和响应浏览器。

MVC的工作流程:

        用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,COntroller再根据处理的结果找到相应的View视图,渲染数据后最终响应给浏览器。

2.什么是SpringMVC

         SpringMVC是Spring的一个后续产品,是Spring的一个子项目。

        SpringMVC是Spring为表述层开发提供的一整套完备的解决方案,在表述层框架历经Strust,WebWork,Strust2等诸多产品的历代更迭之后,目前业界普遍选择了SpringMVC作为JavaEE项目表述层开发的首选方案。

        注:三层架构分为表述层(或表示层),业务逻辑层,数据访问层,表述层表示前台页面和后台servlet

下面是关于学习Spring的笔记(适合有JavaEE基础的童鞋们学习参考)

Spring5 学习总结—框架概述,入门案例,IOC容器_Love Life .的博客-CSDN博客Spring 框架概述Spring 是轻量级的开源的 JavaEE框架Spring 可以解决企业应用开发的复杂性Spring 有俩个核心部分 : IOC 和 AopIOC :控制反转,把创建对象过程交给 Spring 进行管理Aop :面向切面,不修改源代码进行功能增强Spring 特点:方便解耦,简化开发Aop 编程支持方便程序的测试方便和其它框架进行整合 如:MyBat...https://blog.csdn.net/m0_52901132/article/details/124042028?spm=1001.2014.3001.5501Spring5 学习总结-AOP_Love Life .的博客-CSDN博客AOP概念1.什么是AOP 1.1 面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的 耦合度降低 ,提高程序的可重用性,同时提高了开发的效率。 1.2 通俗地讲:不通过修改源代码方式,在主干功能中添加新功能。AOP底层原理1.AOP底层使用动态代理有俩种情况动态代理第一种,有接口情况,使用JDK动态代理...https://blog.csdn.net/m0_52901132/article/details/124081549?spm=1001.2014.3001.5501Spring5 学习总结—JdbcTemplate,事务管理_Love Life .的博客-CSDN博客JdbcTemplate(概念和准备)1.什么是JdbcTemplate1.1 Spring框架对JDBC进行封装,使用 JdbcTemplate 方便实现对数据库操作2.准备工作 2.1 导入依赖 org.springframework spring-jdbchttps://blog.csdn.net/m0_52901132/article/details/124083648?spm=1001.2014.3001.5501

3.SpringMVC的特点

        ·Spring家族原生产品,与IOC容器等基础措施无缝对接

        ·基于原生的Servlet,通过了功能强大的前端控制器DispatcherServlet,对请求和响应进行统一处理

        ·表述层各细分领域需要解决的问题全方位覆盖,提供全面解决方案

        ·代码清新简洁,大幅度提升开发效率

        ·内部组件化程度高,可插拔式组件即插即用,想要什么功能配置相应组件即可

        ·性能卓著,尤其适合现代大型,超大型互联网项目需求


二.搭建框架,入门案例

        1.开发环境:

                IDEA : 2021.3.2

                构建工具:maven-3.3.9

                服务器:tomcat-8.5.72

                Spring版本:5.3.1

        2.创建Maven工程

                 在这里我们有俩种方式为Maven项目添加Web模块

                2.1 使用模板为maven项目添加web模块

SpringMVC 学习—框架简介,搭建框架入门案例_第1张图片

                 当我们使用模板添加web模块时这时idea会为我们的项目下载对应的插件,下载完之后,这时pom.xml就会有对应的web模块插件,idea会自动为我们创建src/main/webapp/WEB-INF/web.xml,idea也会自动再pom.xml设置打包方式为war,war,这时我们就可以进行下一步添加依赖了,依赖在下方

                2.2 不使用模板为maven项目添加web模块

                        点击maven项目按F4SpringMVC 学习—框架简介,搭建框架入门案例_第2张图片

这时就有了web.xml文件,我们需要手动在pom.xml文件设置打包方式为war

SpringMVC 学习—框架简介,搭建框架入门案例_第3张图片

 依赖:


        
            junit
            junit
            4.11
            test
        
        
        
            org.springframework
            spring-webmvc
            5.3.1
        

        
        
            ch.qos.logback
            logback-classic
            1.2.3
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        

        
        
            org.thymeleaf
            thymeleaf-spring5
            3.0.12.RELEASE
        
    

                2.3 配置web.xml

                        注册SpringMVC的前端控制器DispatcherServlet



    springMVC
    org.springframework.web.servlet.DispatcherServlet
    
    
        
        contextConfigLocation
        
        classpath:springMVC.xml
    
    
    1


    springMVC
    
    /

SpringMVC 学习—框架简介,搭建框架入门案例_第4张图片

                2.4 配置SpringMVC的核心配置文件_springMVC.xml





    
    
    
    
        
            
                

                    
                    

                    
                    
                    
                    
                
            
        
    

                2.5 创建控制器

                        在这里可以通过在SpringMVC核心配置文件配置bean创建也可以通过注解扫描创建,在这里我使用的是注解扫描创建

                       Spring针对Bean管理创建对象提供注解:

                                @Componet:泛指各种组件

                                @Service:用于标注服务层

                                @Controller:用于标注控制层

                                @Repository:用于标注数据访问层,即DAO

                         在src/main/java新建包com.example.mvc.controller.TestController

package com.example.mvc.controller;

import org.springframework.stereotype.Controller;

/**
 * @author Mr.Zhou
 * @version ...
 * @ClassName HelloController.java
 * @Description TODO
 * @createTime 2022年04月12日 11:35:00
 */
@Controller
public class TestController{
}

                2.6 测试入门案例

                a>配置tomcatSpringMVC 学习—框架简介,搭建框架入门案例_第5张图片

                        b>webapp目录下新建template文件夹,在template文件夹下新建HTML页面_index.html




    
    Title


首页

                        c>在TestController.java添加

package com.example.mvc.controller;

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

/**
 * @author Mr.Zhou
 * @version ...
 * @ClassName TestController.java
 * @Description TODO
 * @createTime 2022年04月12日 13:53:00
 */
@Controller
public class TestController {
    // 控制器方法
    @RequestMapping("/")
    public String index(){
        // 返回视图名称
        return "index";
    }
    /*
    但浏览器发送请求到服务器,由DispatchServlet接收了请求,
    就会将请求地址控制器方法所使用的注解@RequestMapping("/")的值进行匹配,
    如果匹配成功,那么当前这个index方法就是处理请求的方法,index方法里返回的字符串被称为视图名称,
    由视图解析器解析,加上视图前缀,加上视图后缀,找到相应的页面,
    最后通过thymeleaf解析响应浏览器

     */
}

                        d>测试运行

SpringMVC 学习—框架简介,搭建框架入门案例_第6张图片

 end简述一下流程

        浏览器发送请求,若请求的地址符合前端控制器的url-pattern,该请求就会被前端控制器DispatchServlet(也就是在web.xml文件配置的前端控制器处理,前端控制器会读取SpringMVC的核心配置文件springMVC.xml,通过扫描组件找到控制器,将请求地址控制器中@RequestMapping注解的value属性值进行匹配,若匹配成功,该注解所标识的控制器方法就是处理请求的方法,处理请求的方法需要返回一个字符串类型的视图名称,该视图名称会被视图解析器解析(也就是在SpringMVC核心配置文件配置的视图解析器加上前缀和后缀组成视图的路径,最终转发到视图所对应的页面。

  • Time:2022/4/12 18:35

你可能感兴趣的:(java,spring,后端,开发语言,idea)