目录
2.1 @Controller和@RestController
1 框架
1.1 框架的作用
- SpringMVC 作用: 接收用户提交的数据,返回服务器数据(交互)
- Spring 作用: 整合其他的第三方框架,可以让程序调用以一种统一的方式进行调用(整合)
- Mybatis 作用: 整合JDBC方便用户与数据库进行交互(持久化)
- SpringBoot 作用: 简化Spring等框架的操作(简化)
1.2 框架之间的关系
1.3 SpringBoot之热部署
说明: 在开发阶段,每次修改代码之后,程序自动重启
1.3.1 添加依赖
<!--SpringBoot核心机制: "开箱即用"
只需导入特定的jar包文件 则可以直接使用其中的功能
根本原因: SpringBoot是对框架的简化,内部进行了扩展,无需程序员操作.
-->
<!--支持热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
1.3.2 配置IDEA
组合键: ctrl + shift + alt + / 或者 ctrl + alt + a
Registry=>compiler.automake.allow.when.app.running
1.4 SpringBoot之lombok插件
1.4.1 添加依赖
<!--引入插件lombok 自动的set/get/构造方法插件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
1.4.2 相关注解
@Data //一般为属性赋值 get/set方法
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造
@Accessors(chain = true) //开启链式加载(重写set方法)
1.4.3 Lombok面试题
lombok使用需要安装插件,那么在Linux系统中运行项目时,是否需要提前安装插件?
不要 因为 lombok在编译期有效
1.5 SpringBoot测试
1.5.1 @SpringBootTest
在测试方法中添加了该注解,则当执行@Test注解方法时,Spring容器将会启动,启动之后将所有需要依赖注入的信息完整构建
1.6 SpringBoot加载器顺序
- 当用户点击main方法时启动程序(开始)
- SpringBoot程序开始加载主启动类上边的注解@SpringBootApplication(SpringBoot内部运行机制开始执行)
- 当SpringBoot程序开始执行,则会动态的获取当前主启动类的包路径
- 通过包扫描的机制,将特定的注解标识的类(Controller/Service/Mapper)交给Spring容器管理
- Spring容器维护的是一个Map集合<K,V>
- key: 类名首字母小写 userController
- value: 实例化对象
- 当对象创建时(实例化),遇到@Autowired则需要依赖注入对象,当整个Spring容器内部都没有该对象时,则会报错,注入失败. 如果Map中维护了需要注入的对象, 则@Autowired注入成功
- 当上述的操作都运行成功之后,则Spring容器启动成功,等待用户的调用
2 注解
2.1 @Controller和@RestController
以前: 后端进行页面跳转时一般使用@Controller
当下: 前后端分离,页面不归后端管理,@RestController(相当于@Controller+@ResponseBody)
2.2 @Value
@Value("${xxx}")
表达式: springel表达式 简称为spel表达式
语法: ${表达式内容}
工作原理:
容器: 在内存中一个存储大量数据的Map集合
1.当SpringBoot程序启动时,首先加载application.yml的配置文件
2.当程序加载key-value结构时,将数据保存到Map集合中(容器内部)
3.利用Spel表达式,通过key,获取value,之后为属性赋值
2.3 @PropertySource
如: @PropertySource(value="classpath:/xxx.properties",encoding = "utf-8")
根据指定路径,加载配置文件,交给Spring容器管理
3 配置文件
3.1 YML文件
主要作用: 编辑SpringBoot与第三方框架的整合
但如果将大量的业务数据都写到YML文件中,则会造成业务与框架的耦合,不方便管理
解决方案: 通过properties的配置文件实现业务的解耦
版权声明:本文为CSDN博主「闪耀太阳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_16804847/article/details/118144840
原文链接:https://blog.csdn.net/qq_16804847/article/details/118176923