当前位置 : 主页 > 编程语言 > java >

springboot与springmvc基础入门讲解

来源:互联网 收集:自由互联 发布时间:2021-08-21
目录 一,SpringBoot –1,概述 –2,用法 二,SpringMVC –1,概述 –2,原理 –3,入门案例 总结 一,SpringBoot –1,概述 用来整合maven项目,可以和Spring框架无缝衔接。 –2,用法 –1,创建Spri
目录
  • 一,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,找到自动生成的一个类,直接运行 ( 启动服务器 )

    在这里插入图片描述

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

    在这里插入图片描述

    –5,测试

    启动服务器

    在这里插入图片描述

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

    在这里插入图片描述

    二,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

    在这里插入图片描述

    –2,创建启动类RunApp

    在这里插入图片描述

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

    在这里插入图片描述

    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,测试

    在这里插入图片描述

    总结

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

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

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

    @RestController 只能出现在类上

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

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

    本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注自由互联更多内容!

    网友评论