SpringBoot
2025-06-18 17:03:59 5 举报
AI智能生成
学习记录
作者其他创作
大纲/内容
SpringBoot介绍
设计理念
约定优于配置
自动配置(Auto-configuration)
开箱即用
微服务友好
主要特点
自动配置
不用写一堆xml,SpringBoot自动配置
内嵌服务器
自带Tomcat直接运行,不用再部署
只要是创建了springboot的程序,且引入了
spring-boot-starter-web坐标,这个坐标内部就自动依赖了tomcat服务器
spring-boot-starter-web坐标,这个坐标内部就自动依赖了tomcat服务器
无序XML配置
配置都写在applicatio.properties或yml里,不用面对复杂的xml
内置监控
项目健康状态随时监控
一键打包与部署
打包成jar,配合maven使用
支持多环境配置
开发、测试、生产环境切换容易
boot处理请求
正常写controller和方法
根据HttpServletRequest对象获取参数
在方法的形参位置加一个HttpServletRequest的形参,在方法体中,
通过getParameter()获取
通过getParameter()获取
【例】
根据形参名获取数据
前端传递的形参名和boot中的方法形参名一致,自动封装
参数可以传,也可以不传,如果不传,boot中获取的是默认值
【例】
前端传递的形参名和boot中的方法形参名不一致,
需要使用 @RequestParam(name="前端的形参名")才能封装上
需要使用 @RequestParam(name="前端的形参名")才能封装上
一旦加了@RequestParam注解之后,如果没有设置required,该形参必须传,不传会报错!
【例】
根据POJO获取数据
只要保证POJO中的属性名和浏览器传递的参数名一致即可
POJC
简单的java对象,没有业务方法
vo
由后端给前端响应数据的时候,封装的是java对象
dto
在3层架构中,参数传递的时候,加dto
domain
与数据库进行数据封装的时候
POJO中允许嵌套,只需要前端使用","分割开后,名字对应即可
【例】
获取数组
直接在方法的形参位置定义数组即可,只要名称对应即可
获取集合
直接在方法的形参位置定义数组即可,要求名称
对应且在形参面前添加@RequestBody注解即可
对应且在形参面前添加@RequestBody注解即可
获取json参数
给方法的形参带一个@RequestBody注解即可
【例】
获取路径参数
给方法的请求路径上 加 /{自定义的参数名1} /{自定义的参数名2}
【例】
方法的形参类型前面加@PathVariable
【例】
响应
@RestController注解会自动将类中任意方法
的返回值类型转成字符串的json并响应给浏览器
的返回值类型转成字符串的json并响应给浏览器
为了让前端可以使用固定的key获取对应的数据,
通常会设计一个统一结果类;(Result)
通常会设计一个统一结果类;(Result)
一般会包含3个属性
状态码
描述
数据
快速入门
入口类(主程序Main Class)
@SpringBootApplication注解
为什么要有@SpringBootApplication注解?它包含了哪些注解?
@SpringBootApplication是一个组合注解,包含了
@Configuration(声明配置类)、
@EnableAutoConfiguration(开启自动配置)、
@ComponentScan(自动扫描组件)。
作用是让Spring Boot应用自动配置并能扫描当前包及子包的Bean。
@Configuration(声明配置类)、
@EnableAutoConfiguration(开启自动配置)、
@ComponentScan(自动扫描组件)。
作用是让Spring Boot应用自动配置并能扫描当前包及子包的Bean。
application.properties/application.yml配置
基本配置(端口、项目名、日志级别)
如何修改SpringBoot默认端口?
只需要在application.properties或application.yml里增加一行配置:
server.port=8081
server.port=8081
写具体处理请求的controller类
在控制类的头上加@RestContoller注解
在类的内部写一个成员方法,并在方法的头上指定@getMapping("/前端访问的路径")
Rest风格
将请求按照不同请求方式,分别进行处理,响应的数据会以字符串的形式响应
给类的上面添加注解
@RestController
@RequestMapping("前端访问的路径")
给方法的上面添加的注解
@GetMapping
专门处理前端发出的get方式的请求;查
@PostMapping
专门处理前端发出的post方式的请求;增
@DeleteMapping
专门处理前端发出的delete方式的请求;删
@PutMapping
专门处理前端发出的put方式的请求;改
RequestMapping
无论什么方式的请求,都可以处理
IOC和DI
IOC
控制反转,项目中所有创建对象的活SpringBoot都帮我们创建好了
我们不再创建对象
我们不再创建对象
DI
原来我们自己设计的接口类型的变量,都是自己赋值
现在SpringBoot帮我们设置,这个行为叫依赖注入
现在SpringBoot帮我们设置,这个行为叫依赖注入
IOC和DI的代码实现
@Component
这个注解可以将该类交给spring的容器管理(IOC容器)
这个注解可以将该类交给spring的容器管理(IOC容器)
@Service
@Repository
【例】
@Autowired
默认按照类型进行注入,当同一个接口下,
有多个实现类的时候,需要配合其他注解解决
有多个实现类的时候,需要配合其他注解解决
@Primary
谁加谁生效
【例】
@Qualifier
通过该注解指定bean的名称
bean的名称默认是类名的首字母小写后的名字
【例】
【例】
包扫描
默认情况下,带@SpringBootApplication注解的类所在的包下全部内容(子路径)都会扫描

收藏

收藏
0 条评论
下一页