您的位置:首页技术文章
文章详情页

springboot与springmvc基础入门讲解

浏览:3日期:2023-02-25 17:08:46
目录一,SpringBoot?1,概述?2,用法二,SpringMVC?1,概述?2,原理?3,入门案例总结一,SpringBoot?1,概述

用来整合maven项目,可以和Spring框架无缝衔接。

?2,用法

?1,创建SpringBoot工程:File-New-Project-选择Spring Init…-next-输入groupId、项目id、选成jdk8-next-选择SpringWeb-ok

?2,配置Maven:File-Settings-选择Build…-Maven-修改三处(解压的位置、settings.xml位置-本地仓库位置)-ok

?3,找到自动生成的一个类,直接运行 ( 启动服务器 )

springboot与springmvc基础入门讲解

?4,创建类,让浏览器访问

springboot与springmvc基础入门讲解

?5,测试

启动服务器

springboot与springmvc基础入门讲解

打开浏览器访问指定的地址::http://localhost:8080/hi

springboot与springmvc基础入门讲解

二,SpringMVC?1,概述

主要的职责:接受浏览器发来的请求,给浏览器发送响应的数据遵循了MVC的设计模式:好处是可以把代码松耦合MVC的全称:M是Model模型,用来封装数据 V是View视图,用来展示数据 C是Controller控制器,用来写业务代码

?2,原理

当浏览器发起请求,就会访问服务器----前端控制器DispatcherServlet—处理器映射器HandlerMapping—处理器适配器

HandlerAdaptor—视图解析器ViewResolver—视图渲染—响应数据。

?前端控制器DispatcherServlet:: 把请求进行分发,找到对应的类里的方法开始干活

?处理器映射器HandlerMapping::根据url来找到对应的类并找到对应的方法

http://localhost:8080/hello/hi 即将访问 HelloBoot类里的 hi()

?处理器适配器HandlerAdaptor::拿到要执行的类名和方法名,开始干活

?视图解析器ViewResolver::解析要在浏览器上展示的数据

?视图渲染:::真正的把数据在浏览器上展示

?3,入门案例

需求:访问url地址,服务器返回汽车的相关数据

?1,创建Maven的模块:选中工程-右键-New-Maven-next-输入module的名字-finish

springboot与springmvc基础入门讲解

?2,创建启动类RunApp

springboot与springmvc基础入门讲解

?3,创建汽车类

package cn.tedu;//充当MVC模式里的M层model:封装数据public class Car{ //提供属性 + get/set/toString private int id; private String name; private String type; private String color; private double price; // get/set /toString public int getId() {return id; } public void setId(int 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; } //如果没重写,就是用Object的toString()返回的是地址值。 //没重了,就是返回属性值。 @Override public String toString() {return 'Car{' +'id=' + id +', name=’' + name + ’’’ +', type=’' + type + ’’’ +', color=’' + color + ’’’ +', price=' + price +’}’; }}

?4,创建类,接受浏览器的请求,并返回数据

springboot与springmvc基础入门讲解

package cn.tedu;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;//职责:接受请求+做出响应@RestController //接受浏览器发来的请求@RequestMapping('car')//规定了url的写法public class CarController { //访问http://localhost:8080/car/find,//在浏览器展示了{'id':718,'name':'保时捷','type':'Cayman T','color':'红色','price':641000.0} @RequestMapping('find') public Car find(){Car c = new Car();c.setId(718);c.setName('保时捷');c.setType('Cayman T');c.setColor('红色');c.setPrice(641000);return c;//把结果返回给了浏览器 } //访问http://localhost:8080/car/save ,在浏览器展示abc @RequestMapping('save') public String save(){//接受请求,并返回数据return 'abc'; } //访问http://localhost:8080/car/get ,在控制台打印123 @RequestMapping('get')//规定了url的写法 public void get(){System.out.println(123); }}

?5,测试

springboot与springmvc基础入门讲解

总结

SpringMVC的原理?DispatcherServlet->HandlerMapping->HandlerAdaptor->ViewResolver->View

SpringMVC里用的注解?@RestController 接受请求 + 负责响应 (把数据变成JSON串)

@RequestMapping 跟url匹配规定了url的写法

@RestController 只能出现在类上

@RequestMapping 可以出现在类上或方法上

SpringBoot的注解?@SpringBootApplication 用来作为springboot的启动类

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注好吧啦网更多内容!

标签: Spring
相关文章: