1 SpringBoot的高级用法
1.1 SpringBoot的配置文件
1.1.1 properties配置文件说明
- 语法:k-v结构 key=value
- 数据类型:默认是String类型,不要添加多余的引号
- 字符数据类型:properties的默认编码格式是ISO-8859-1,因此需要修改文件的字符编码集
Settings–>Editor–>File Encodings,修改如下位置:
- 缺点:所有的key必须手动编辑,没法复用,所以引用了yml配置文件
1.1.2 yml配置文件
- 语法:k-v结构 key:(空格)value,实质上 key=value,key与key之间有父子级关系,注意缩进
- 默认编码格式是utf-8,可以直接解析中文
yml文件中视图解析,端口号的配置
1.2 关于SpringMvc的调用流程(了解)
-
协议支持 http/https(OSI 7层网络模型)
- 物理层
- 数据传
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层
-
Java针对服务器端开发了一种传输机制(Servlet机制),遵循TCP-IP协议(第四层)的规范
-
SpringMvc的调用流程
问题:用户输入/addUser
组件:(前四个为核心组件)- 前端控制器(DispatcherServlet):所有请求的中转站
- 处理器映射器(HandlerMapping):负责用户请求与具体业务路径之间的映射关系
- 处理器适配器(HandlerAdaptor):handler处理器执行后返回ModelAndView
- 视图解析器(ViewReslover):将ModelAndView中的view拼接前缀和后缀
- 视图渲染(view):将ModelAndView中的model数据填充到页面
1.3 配置文件的赋值
1.3.1 入门
1.3.2 yml文件为属性赋值
需求:利用配置文件动态为属性赋值
- 在yml文件中配置redis节点信息
- 在类中动态获取配置文件的数据,通过@Value("${配置文件的key}")来获取
yml文件主要是配置第三方整合的信息,如果将业务数据添加到yml中,则不规范,最好将业务的操作添加到properties文件中
1.3.2 properties文件为属性配置
1.4 springboot环境切换
业务场景:
员工是外包人员,经常往返公司和甲方进行代码调试,由于位置不同,所以服务器的ip地址也不同,如果每次换环境都必须重新编辑ip地址和端口等数据,这个过程必定繁琐,那能否优化呢
1.4.1 实现-指定多个环境
1.5 热部署配置
- 添加依赖
<!--支持热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
- 配置idea工具,开启自动编译
1.6 springBoot整合mybatis
1.6.1 创建pojo包,User类
1.6.2 关于Lombok面试题
- Java项目开发完成之后需要在Linux系统中部署项目,那么Linux环境中是否需要单独安装Lombok插件
答案:不需要
知识点:Lombok的作用:@Data 动态的生成set/get/toString/equals等方法添加到.class文件中
解析:lombok插件在编译期有效(.java文件编译为.class文件),而Linux中运行的jar包是.class文件的集合,已经有了get/set方法,所以不需要安装Lombok插件
1.6.3 yml文件的部分配置说明
数据库连接说明
- serverTimezone=GMT%2B8 %2B代表"+"号 表示时区
- useUnicode=true&characterEncoding=utf8 指定字符编码集
- autoReconnect=true 如果程序连接数据中途断开,是否重连
- allowMultiQueries=true 是否允许批量操作
mybatis的配置说明