1. 开发入门案例
创建maven工程(也可以使用spring官网的的Quickstart Your Project)
引入依赖
<!--springboot核心依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
<!--web场景的依赖-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
创建主程序
@SpringBootApplication
public class mainController {
public static void main(String[] args) {
SpringApplication.run(mainController.class,args);
}
}
注意:主程序要放在最外面,级别最大
编写业务
@RestController
public class helloController {
@RequestMapping("/hello")
public String handle01(){
return "hello springboot";
}
}
测试
直接运行main方法,浏览器输入losthost:8080/hello
简化配置
application.properties
server.port=8080
简化部署
直接将程序打成jar包,直接在目标服务器执行。
2. 案例分析
parent
- 开发springboot程序要继承spring-boot-starter-parent
- spring-boot-starter-parent定义了若干个依赖管理
- 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
- 继承parent的形式也可以采用引入依赖的形式实现效果
starter
- 定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的
- 每个starter根据功能不同,通常包含多个依赖坐标
引导类
- 带有psvm主程序类为引导类
- springboot的引导类是boot工程的执行入口,运行main方法就可以启动项目
- springboot工程运行后初始化spring容器,扫描引导类所在包加载bean
内嵌tomcat
3. RESTful风格
-
按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
- http://localhost/users 查询全用户信息 GET(查询)
- http://localhost/users/1 查询指定用户信息 GET(查询)
- http://localhost/users 添加用户信息 POST(新增/保存)
- http://localhost/users 修改用户信息 PUT(修改/更新)
- http://localhost/users/1 删除用户信息 DELETE(删除)
-
@RequestBody @RequestParam和@PathVariable
- 区别
- @RequestParam用于接收url地址传参或者表单传参
- @RequestBody用于接收json数据
- @PathVariable用于接收路径参数,使用参数名称描述路径参数
- 应用
- 后期开发,若请求参数超过一个时,以json格式为主,@RequestBody应用较广
- 如果发送非json格式数据,选用@RequestParam接收请求参数
- 采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值
- 区别