[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nHECELxt-1639666357156)(D:\2021\md\springboot\img\springboot简介.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L4akltS9-1639666357157)(img\springboot和springmvc的区别.png)]
1 SpringBoot启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootHelloApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootHelloApplication.class, args);
}
}
类中的@SpringBootApplication注解是springboot的核心注解,主要作用是开启spring自动配置。使用这个注解相当于加上了下面三个注解:
@Configuration 允许将其他@bean注解标识的类加入到spring容器中,相当于spring配置文件中的beans标签
@EnableAutoConfiguration 启动自动配置
@ComponentScan 会自动扫描当前包和子包下的标@Component,@Service,@Repository,@Controller的类。相当于以前spring配置文件中的context:component-scan
1.启动类在最外层的
BLUF{X9`Z]$K5.png)
2.启动类没有在最外层的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kOp8AUUp-1639666357158)(D:\2021\md\springboot\img\image-20211215160828321.png)]
3.postman使用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-inM2jo51-1639666357160)(D:\2021\md\springboot\img\image-20211215164357756.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p6Uw92cc-1639666357161)(C:\Users\wyl\AppData\Roaming\Typora\typora-user-images\image-20211215164453041.png)]
1.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ajoO6y4L-1639666357162)(D:\2021\md\springboot\img\image-20211215164619275.png)]:接口请求历史记录
2.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zzpGmDb6-1639666357163)(D:\2021\md\springboot\img\image-20211215164612193.png)]:接口集合
3.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4WNd7MUz-1639666357164)(D:\2021\md\springboot\img\image-20211215164545938.png)]:选着请求方式的地方
4.具体其的请求路径
5.params:普通数据参数
6.Headers:头部参数
7.form-data:表单提交
8.raw:json参数
9.binary:二进制参数
4.测试http接口的get请求
restful风格
* ```java
* @re/**
* 获取用户信息 ,restful风格
*/
@RequestMapping(value = "/v1/{cid}/{uid}", method = RequestMethod.GET)
public Object findUser(@PathVariable("cid") String cid,
@PathVariable("uid") String uid) {
map.put("cid", cid);
map.put("uid", uid);
return map;
}
```
2.2 分页列表
/**
* 分页列表
* @return
*/
@GetMapping("/v1/page_user")
public Object pageUser(@RequestParam(name="page",defaultValue = "1") int curPage,int limit){...}
保存用户信息
aram user
@return
@RequestMapping("/v1/save_user")
public Object saveUser(User user){...}
/**测试http头信息 ,某些请求会携带头信息
携带token(就是身份认证),作为示范有权限访问该接口的标识
* 一般将token放到@reqeustHeader中
eturn
*/
@GetMapping("/v1/get_header")
public Object testHeader(@RequestHeader("access_token") String accessToken,String id){...}
/**
* 测试request
* @param request
* @return
*/
@GetMapping("/v1/test_request")
public Object testRequest(HttpServletRequest request){...}
3.post/put/delete 请求的测试
3.1/**
* 测试post请求
* @param name
* @param pass
* @return
*/
@PostMapping("/v2/login")
public Object login(String name,String pass){
map.clear();
map.put("name",name);
map.put("pass",pass);
return map;
}
3.2/**
* 测试put请求,多用于更新操作
*/
@PutMapping("/v2/put")
public Object login(String id){
map.clear();
map.put("id",id);
return map;
}
3.3/** * 根据id删除 * @param id * @return */ @DeleteMapping("/v2/del") public Object delete(String id){ map.clear(); map.put("id",id); return map; }
-
jackson相关注解 (作用于实体类属性)
指定字段不返回
@JsonIgnore
格式化日期
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,locale = “zh”,timezone = “GMT+8”)
空字段不返回
@JsonInclude(JsonInclude.Include.NON_NULL)
指定别名
@JsonProperty(“xxx”)
5.静态文件的访问
有3个路径 默认在 resources下面 : resources / static / public
5.1 static 下面的静态文件访问方式位于static下的静态文件可以直接访问static/img/xx.pngstatic/js/xx.js访问方式: localhost:8080/img/xx.png localhost:8080/js/xx.js5.2如果提供其他静态目录resources目录中除了static这个静态文件外,还有 resources和 public这2个目录, 三者优先级resources > static > public5.3templates中的文件不能直接访问,需要配置***引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>***然后通过controller做跳转5.4 对于自定义静态路径的访问在resources下面创建test 静态文件夹, 里面放入静态文件 ,此时是不能直接访问到的,需要在配置文件配置这句话代表 ,配置静态路径的访问支持 ,默认可以不写,默认以支持. 但是如果加入了新的自定义静态路径就需要明确写出了spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public///加入test静态路径 ,改为spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/test/
6.文件上传
可以指定上传到当前工程 ,也可以指定上传到其他 目录
最后将工程打jar包 ,需要引入pom <!--打成jar的插件配置 否则会报错:运行后会报错:no main manifest attribute, in XXX.jar --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>如果打包过程报错: Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.567 s <<< FAILURE! - in ....删除当前工程的测试类继续执行打包
1.static、public、resources 是能够直接访问的文件夹
2.templates 他需要引入templates 模板依赖,然后通过后台调整页面的方式,进行访问页面