总结:
1.controller层接收前端数据,并响应前端的请求(给出回复)
用@RestController注解,表示是controller层
接收不同类型的变量,需要用 不同的注释 标记 方法形参
(1)接收路径变量,用@PathVariable注释接收 (一般只有一个变量)
(2)接收多个变量(json格式的,且 每个变量名 都和 某个实体类的成员变量 相同)
用@RequestBody注释 接收
(3)接收多个变量(json格式的,且 变量名 和 任意一个实体类的成员变量 都不相同)
用@RequestParam(value= "变量名")注释接收,value中的变量名指定接收的变量,必须和后面紧接着用于接收的变量名相同
2.service层用于处理数据
用@Service注解,表示是Service层
3.dao层用于和数据库连接(mybatis是数据持久层dao层的一个框架)
@Mapper注释,表示是dao层
(1)当sql语句中用于接收的变量名 全都 和 某个实体类的成员变量 相同时,可以不在 形参中指定 sql中的哪个变量接收
(2)当不使用在方法名上加注解的时候(相当于用配置文件指定执行哪句sql的时候),在方法形参前,需要加上@Param注解指定配置文件sql语句中的哪个变量名来接收,sql语句中用于接收的变量名 全都 和 某个实体类的成员变量 相同时,可以不在 形参中指定 sql中的哪个变量接收
注意事项:
文件上传
浏览器端发送文件,服务器端接收后,会在本地生成一个临时文件接收这个文件,当浏览器端断开连接后,这个临时文件就会被删除,所以如何在服务器端保存这个文件呢?
2种方式:本地存储和云存储
根据上传的文件名可能重复的情况,为了不覆盖已经保存的文件,所以生成一个UUID加入到本地文件的文件名中
这样写代码,真实项目中的参数过于分散,不宜与管理
yml配置文件
在项目开发当中,注入的属性特别多,而且想要复用,在多个类中,都要想获得注入进来的属性值,那么就可以直接注入这个对象就可以获得这些属性值了