springboot小白入门

创建启动 省略。。。

第二章 springboot接口

本章学习:
1.接口定义
2.接收数据
3.返回数据

@RestController注解,相当于@ResponseBody@Controller

@Controller
	负责接收用户的请求
	
@ResponseBody
	把数据写入到HTTP响应体的`body`部分

@RequestMapping
	注解是用来映射请求的
1、简单参数接收
get请求
	http://localhost:8080/simple?name=aaa&age=12
post请求
 请求体{
   name:a,age:2}

简单参数只要形式参数一样,就可以直接接收到
@RestController
public class requestController {
   
    @RequestMapping("/simple")
    public String simple(String name,Integer age){
   
    System.out.println(name+":"+age);
      return "ok";
    }
}

@RequestParam 用于接收参数的别名,
2、接收嵌套对象参数
假设接收这样一个参数

{
   
	name:a,
	age:1,
	adress:{
   
		city:1,
		privonce:1
	}
}
 x-www-form-urlencoded
 格式参数
java里面要定义对应的实体类
   @RequestMapping("/simple")
   public String simple(User user){
   
       System.out.println(user);
       return "ok";
   }

代码比较多,就不黏贴了。
创建一个实体类,快速 生成对应的get set 方法 和 tostring方法

3、 接收数组集合
 x-www-form-urlencoded
接收 数组参数
    @RequestMapping("/simple")
    public String simple(String [] hobby){
   
        System.out.println(Arrays.toString(hobby) );
        return "ok";
    }
 x-www-form-urlencoded
接收 集合参数
@RequestParam 去注解
    @RequestMapping("/simple")
    public String simple111(@RequestParam List<String> hobby){
   
        System.out.println(hobby );
        return "ok";
    }
4、接收时间
    @RequestMapping("/simple1111")
    public String simple1111(@DateTimeFormat(
    pattern = "yyyy-mm-dd hh:mm:aa")LocalDateTime updataTime){
   
        System.out.println(updataTime );
        return "ok";
    }
5、接收json参数
postman 选择 post请求,选择 raw 选择JOSN
    @RequestMapping("/simple")
   public String simple(@RequestBody User user){
   
       System.out.println(user);
       return "ok";
   }
6、接收路径参数
    @RequestMapping("/path/${id}")
    public String simple21(@PathVariable Integer id){
   
        System.out.println(id);
        return "ok";
    }
    @RequestMapping("/path/${id}/${id2}")
    public String simple21(@PathVariable Integer id,@PathVariable Integer id2 ){
   
        System.out.println(id+id2
        );
        return "ok";
    }
8、使用postman测试接口

get:请求

query拼接参数
https://www.baidu.com/s?ie=9&a=1

post:请求


application/json:用于传输JSON格式的数据。

application/x-www-form-urlencoded:
	用于传输HTML表单数据,即URL编码的键值对。

multipart/form-data:用于传输文件和二进制数据。

text/plain:用于传输纯文本数据。


raw json

第二章 分层架构 IOC&DI

1、分三层

controller 接口定义处理
service 业务逻辑处理
Dao 数据库操作

最简单的理解就是分到3个文件夹里了,个干各自的事情 ,就是分了三层。
但是,controller 要调用 service ,service 要调用 Dao
所以分了3层,又要调用别的层,又要耦合了,所以要解耦了
分三层的三个注解

@Compontent 生成@bean的基础注解

@Controller 注解 Controller@Service 注解service类
@Repository 注解DOC类
他们3个底层包含了@Compontent注解


而我们上面讲过,
@RestController注解,相当于@ResponseBody@Controller
@Controller 包含了 @Compontent
2、解耦

容器就理解成一个普通对象
依赖注入,就是,把创建service对象和Dao对象,赋值到容器对象的属性了。
所以使用对象的时候,不用实例化对象了,而是直接从容器对象里面调用
所以IOC 就是这个概念,

IOC 控制反转:对象的创建和控制权由程序自身转移到了外部(容器)
DI 依赖注入:容器为应用提供运行时,所需的依赖资源
Bean对象:IOC容器中创建、管理的对象

3、代码示例

在这里插入图片描述

解耦的注解

解耦分2步

第一步:控制反转
@Component 将当前类交给IOC容器管理,成为IOC容器中的bean对象
第二步:依赖注入
@Autowrite 运行时,IOC容器会提供该类的bean对象,并且自动赋值
依赖注入的注解:

如果同类型的bean存在多个:
@Primary
@Autowired+@Qualifer(bean的名字)
@Resource(name="bean的名字")
小区别:
@Autowired 按类型注入
@Resource 安照名称注解

相关推荐

  1. UDF入门

    2024-01-21 03:00:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-21 03:00:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-21 03:00:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-21 03:00:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-21 03:00:02       20 阅读

热门阅读

  1. php怎么获取图片四个角的坐标 x y

    2024-01-21 03:00:02       43 阅读
  2. MySQL自增主键为何不连续

    2024-01-21 03:00:02       33 阅读
  3. c# 中的点的作用

    2024-01-21 03:00:02       37 阅读
  4. 2024年对我懒这件事的弥补

    2024-01-21 03:00:02       31 阅读
  5. 调试工具gdb的常用命令总结

    2024-01-21 03:00:02       43 阅读
  6. MVC和MVVM区别和VUE关系

    2024-01-21 03:00:02       35 阅读
  7. html+css3 补充学习

    2024-01-21 03:00:02       38 阅读
  8. 2024QS世界大学排名完整榜单

    2024-01-21 03:00:02       35 阅读