1.1SpringBoot配置文件的说明
1.1.1properties说明
1.语法:k-v结构 key=value
2.数据类型:默认是String数据类型 不要添加多余的""号
3.字符数据类型:properties的默认的加载的编码格式为ISO-8859-1 所以添加中文是需要转意
4.缺点:所有的key都必须手动的编辑没有办法复用 所以引入了yml配置
1.1.2YML
1.语法 K-V结构 写法上 key:value 实质上key=value
key:value中间使用(:+空格)分隔
key与key之间有父子级关系 所以书写的时候注意缩进项
YML配置文件默认的格式都是UTF-8格式
2.例子
server:
port:8090
1.2关于SpringMVC调用流程
1.协议支持 http/https(OSI七层网络模型 物数网传会表应)
2.Java针对于服务器端开发了一种传输机制 Servlet机制(TCP-IP协议规范)用户使用servlet进行数据的传输的速度是较快的。
**问题:用户发起请求/addUser是如何匹配到真实的业务方法的?**
核心组件:
1.前端处理器(DispatcherServlet)只做转发 所有请求的中转战
2.处理器映射器(HandlerMapping)将用户的请求与执行的业务方法进行映射(绑定)
3.处理器适配器(HandlerAdaptor)
4.视图解析器(ViewResolver)
{
- 前端控制器组件(DispatcherServlet)
2. 处理器组件(Controller)
3. 处理器映射器组件(HandlerMapping)
4. 处理器适配器组件(HandlerAdapter)
5. 拦截器组件(HandlerInterceptor)
6. 视图解析器组件(ViewResolver)
7. 视图组件(View)
8. 数据转换组件(DataBinder)
9. 消息转换器组件(HttpMessageConverter)
}
1.2.2属性赋值操作
需求:有时对象中的苏醒的值可能会发生变化,如果直接写死到代码中可能导致耦合性高。能否利用配置文件进行赋值
package com.jt.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
@RestController //@ResponseBody 将返回值转化为json串使用 程序将不会执行视图解析器 直接返回
//@Controller //String类型/moduleAndView
public class RedisController {
private String host = "127.0.0.1";
private Integer port = 6379;
//如果使用RestController 返回值为String类型则返回字符串本身
//如果返回的是一个对象 则结果必然是该对象的JSON数据.
@RequestMapping("/getMsg")
public String getMsg(){
return host + ":" + port;
}
}
1.2.3利用properties文件为属性赋值
说明:由于YML配置文件
1.3Spring 环境切换问题
1.3.1业务场景:
1.3.2业务实现-指定对个环境
注意事项:无论什么样的环境,配置的个数都是相同的,只有值不同
1.4添加热部署配置
1.<热部署依赖>
org.springframework.boot
spring-boot-devtools
2.配置idea工具
ctrl+shift+alt+/
1.5LOMBOK面试题
问题:Java项目开发完成之后需要在Linux系统中部署项目。问题:Linux环境中是否需要单独安装LomBok插件??
不需要
解析:LOMBOK插件编译器有效 xxx.java文件–编译
1.5.1关于sql说明
#1.serverTimezone=GMT%2B %2B代表"+"号 表示时区
#2.useUnicode=true&characterEncoding=utf8 指定编码utf-8
#3.autoReconnect=true 如果程序连接数据库中断掉是否重新连接
#4.allowMultiQueries=true 是否允许批量操作
1.5.6关于知识点讲解-mapper.xml