好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

springboot与springmvc基础入门讲解

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

?

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

?

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

总结

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

查看更多关于springboot与springmvc基础入门讲解的详细内容...

  阅读:17次