SpringMVC初级了解

目录

1.SpringMVC

2.MVC模型

 3.工作原理

        3.1核心组件      

创建RunApp.java

Car.java

CarController.java

测试


1.SpringMVC

概述:

         Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块 SpringMVC就是基于MVC设计模式来实现的

        POJO:Model层

        JSP:视图层

        Controller:控制层

2.MVC模型

概述:

        是spring框架的明星产品,代码之间实现松耦合

        用来进行分层结构,这样代码分离结构比较清晰,各层之间的代码,各司其职,易于开发大型项目

        MVC(model模型  用来封装数据,view视图层  用来展示数据,Control控制层  作用就是用来就收请求)达到松耦合的作用

        在MVC设计模式中认为, 任何软件都可以分三层:控制层(Controller)、数据处理模型(Model)、负责展示数据的视图(View)。

        在MVC设计思想中要求一个符合MVC设计思想的软件应该保证上面这三部分相互独立,互不干扰,每一个部分只负责自己擅长的部分。如果某一个模块发生变化,应该尽量做到不影响其他两个模块。提高代码的可读性,实现程序间的松耦合、提高代码复用性。

 3.工作原理

        3.1核心组件      

                1.DispatcherServiet:前端控制器--接收请求并分发请求

                2.HandlerMapping:处理器映射器--根据请求找到具体能处理请求的类名,方法名

                3.HandlerAdapter:处理器适配器--正式开始调用方法处理请求,并返回结果    

                4.ViewReslover:视图解析器--把视图页面找到,把数据进行解析

                5.View:视图渲染--具体展示数据并返回给浏览器展示

1、用户发送请求至前端控制器DispatcherServlet。

2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、DispatcherServlet调用HandlerAdapter处理器适配器。

5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、Controller执行完成返回ModelAndView。

7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9、ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、DispatcherServlet响应用户。

创建RunApp.java


```java
package cn.tedu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;


@SpringBootApplication
@Controller
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);
    }
}

Car.java

package cn.tedu.pojo;

//Model对象,也称为POJO

//保时捷718 Cayman T,红色,641000元起
public class Car {
	private Integer id;		//718
	private String name;		//保时捷
	private String type;		//Cayman T
	private String color;		//红色
	private Double price;	//641000
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public Double getPrice() {
		return price;
	}
	public void setPrice(Double price) {
		this.price = price;
	}
	@Override
	public String toString() {
		return "Car [id=" + id + ", name=" + name + ", type=" + type + ", color=" + color + ", price=" + price + "]";
	}
}

CarController.java

package cn.tedu.controller;

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

import cn.tedu.pojo.Car;

@RestController
@RequestMapping("/car")
public class CarController {
	@RequestMapping("/get")
	public Car get() {
		//保时捷718 Cayman T,红色,641000元起
		Car car = new Car();
		car.setId(718);
		car.setName("保时捷");
		car.setType("Cayman T");
		car.setColor("红色");
		car.setPrice(641000.0);
		
		return car;
	}
}

测试

访问:http://localhost:8080/car/get

执行结果:

{"id":718,"name":"保时捷","type":"Cayman T","color":"红色","price":641000.0}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

眸中星河万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值