服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - springboot与springmvc基础入门讲解

springboot与springmvc基础入门讲解

2021-10-06 11:37cgblpx Java教程

本篇文章主要介绍了详解快速搭建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,找到自动生成的一个类,直接运行 ( 启动服务器 )

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,创建汽车类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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基础入门讲解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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的启动类

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

原文链接:https://blog.csdn.net/u012932876/article/details/117810556

延伸 · 阅读

精彩推荐
  • Java教程升级IDEA后Lombok不能使用的解决方法

    升级IDEA后Lombok不能使用的解决方法

    最近看到提示IDEA提示升级,寻思已经有好久没有升过级了。升级完毕重启之后,突然发现好多错误,本文就来介绍一下如何解决,感兴趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter写文件写不进去或缺失数据的解决

    Java BufferWriter写文件写不进去或缺失数据的解决

    这篇文章主要介绍了Java BufferWriter写文件写不进去或缺失数据的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一个注意事项

    Java8中Stream使用的一个注意事项

    最近在工作中发现了对于集合操作转换的神器,java8新特性 stream,但在使用中遇到了一个非常重要的注意点,所以这篇文章主要给大家介绍了关于Java8中S...

    阿杜7472021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    这篇文章主要介绍了Java使用SAX解析xml的示例,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java实现抢红包功能

    Java实现抢红包功能

    这篇文章主要为大家详细介绍了Java实现抢红包功能,采用多线程模拟多人同时抢红包,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml与Java对象的转换详解

    xml与Java对象的转换详解

    这篇文章主要介绍了xml与Java对象的转换详解的相关资料,需要的朋友可以参考下...

    Java教程网2942020-09-17
  • Java教程20个非常实用的Java程序代码片段

    20个非常实用的Java程序代码片段

    这篇文章主要为大家分享了20个非常实用的Java程序片段,对java开发项目有所帮助,感兴趣的小伙伴们可以参考一下 ...

    lijiao5352020-04-06
  • Java教程小米推送Java代码

    小米推送Java代码

    今天小编就为大家分享一篇关于小米推送Java代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    富贵稳中求8032021-07-12