springBoot学习笔记一:SpringBoot的注解学习、
文章目录
- springBoot学习笔记一:SpringBoot的注解学习、
- @SpringBootApplication注解
- SpringBoot的Get请求
- @RequestBody注解
- @RequestHeader注解
- 获取HttpServletRequest中的值
- 常用的JSON框架与注解
- Json框架的作用
- JackSon的常用注解
- SpringBoot目录文件结构学习
- 目录讲解
@SpringBootApplication注解
- 这是SpringBoot的启动注解,Ctrl+左键点击进入,包含大量元注解,如图:封装了很多类。其中包含了三个重要的注解:@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan三个注解就等于@SpringBootApplication注解的作用。
- @RestController 和@RequestMapping是springMVC的注解,不是springBoot特有的,其中:
- @RestController=@Controller+@ResponseBody(把返回的内容搞成一个json 格式)
- 如果Controller层类的上面添加了一个@RestController就不需要@ResponseBody作为返回结果类型了。
- @RequestMapping是映射注解,就是在访问路径下面添加一个访问路径。
- RestController的用处是将结果以json格式返回。
SpringBoot的Get请求
- 请求协议都要用小写,或者小写加下划线,不要用驼峰。
- @PathVariable就是从路径中获取对应参数,这种东西又称为路由。
- 接口参数中设置默认值通过@RequestParam(defaultValue="",name=“page”),其中required=true,表示该值是必须的。如果不传name参数,默认就会是page
@RequestBody注解
- 接口对接时,前台需要指定http头,content-type为application/json
@RequestHeader注解
- 获取Http头信息,就是从Http头中获取信息。例如获取一些令牌什么的。
获取HttpServletRequest中的值
常用的JSON框架与注解
- 常用框架
阿里fastjson
谷歌gson
- 性能:
Jackson>FastJson>Gson>Json-lib
其实三者各有各的优势,空间换时间,时间换空间
Json框架的作用
- 主要是在前后端开发过程中,将后端处理好的数据按照一定的格式返回给前端。
JackSon的常用注解
- 指定字段不返回:@JsonIgnore比如,不返回用户的密码。
- 指定日期格式:@JsonFormat(pattern=“yyyy-MM-dd hh:mm:ss”,locale=“zh”,timezone=“GMT+8”)
- 空字段不返回:@JsonInclude(Include.NON_NULL)
- 指定别名:@JsonProperty
- 这些注解主要在Bean中添加。
SpringBoot目录文件结构学习
目录讲解
- src/main/java:存放代码
- src/main/resources:存放资源文件
static:存放静态文件,比如css,js,image(访问方式:localhost:8080/js/main.js
templates:存放静态页面,jsp,html,tpl
config:存放配置文件,application.properties
SpringBoot文件加载顺序:META/Resources>resources>static>public如果有就会返回,没有就报错。(静态资源文件)
- 引入模板引擎,用于访问接口时跳转到资源文件中templates中的jsp等页面的一种依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
- 自定义资源文件访问
- 自定义资源文件的访问需要进行配置,需要在application.properties中配置。配置访问自定义文件的路径。
spring.resources.static-locations=classpath:/test/
- 静态资源文件存储在CDN,也就是前后端分离