评论

收藏

[Java] springboot与springmvc基础入门讲解

编程语言 编程语言 发布于:2021-10-08 15:08 | 阅读数:469 | 评论:0

本篇文章主要介绍了详解快速搭建Spring Boot+Spring MVC,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一,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,找到自动生成的一个类,直接运行 ( 启动服务器 )
DSC0000.png

–4,创建类,让浏览器访问
DSC0001.png

–5,测试
启动服务器
DSC0002.png

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


二,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
DSC0004.png

–2,创建启动类RunApp
DSC0005.png

–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,创建类,接受浏览器的请求,并返回数据
DSC0006.png
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,测试
DSC0007.png


总结
SpringMVC的原理?DispatcherServlet->HandlerMapping->HandlerAdaptor->ViewResolver->View
SpringMVC里用的注解?@RestController 接受请求 + 负责响应 (把数据变成JSON串)
@RequestMapping 跟url匹配规定了url的写法
@RestController 只能出现在类上
@RequestMapping 可以出现在类上或方法上
SpringBoot的注解?@SpringBootApplication 用来作为springboot的启动类
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注CodeAE代码之家更多内容!
原文链接:https://blog.csdn.net/u012932876/article/details/117810556

关注下面的标签,发现更多相似文章