今天晚上继续复习我的springboot
springboot中的前端和后端的传参问题
传值:
• get,queryString ?xxx=yyy
• post,封装成FormData
• ajax的data为json对象,仍然以FormData传递
• ajax的data使用JSON.stringify,并且contentType设为’application/json;charset=utf-8’ 之后,才可以后端传json对象,以RequestPayload
json对象一般用于比较复杂的场景
调试问题,确定前段还是后端问题, F12打开调试工具,选中network,查看请求;检查URL对不对,检查参数传递是否正确;
get请求不能用json传递,因为get请求使用queryString的方式传值,没有requestBody
日志
作用:
• 调试,输出信息
• 跟踪执行流程,关键节点必须有完整的日志输出
• 定位错误,异常堆栈
日志的级别
由低到高
trace 跟踪
debug 调试 用来输出调试信息
info 信息 正常日志,关键节点的信息
warn 警告 业务错误,余额不足,用户被锁等
error 错误 系统错误,数据库异常,网络异常
slf4j logger api
1)格式字符串
public void info(String format, Object arg1, Object arg2);
格式字符串,使用 {} 占位,arg1,arg2对应的加入到占位符中。
2)异常输出
错误做法:logger.error(""+e);
正确做法:public void error(String msg, Throwable t);
logger.error(“出错来”,e);
sl4fj vs logback vs log4j vs log4j2
log4j -> log4j2
slf4j (API接口)+接入任何日志实现,包括log4j\JUL\apache logging
√slf4j(API接口)+logback(原生实现)
lombok注解
@Slf4j 代替(private static Logger logger = LoggerFactory.getLogger(CourseController.class);)
不过日志变量名字叫 log
Profile
身份,档案
环境
• 开发环境:开发人员使用 数据库独立(192.168.50.188)、nginx独立…
• 测试环境:测试人员使用 数据库独立(192.168.50.99)
• 生产环境:项目部署 数据库独立(mysql.woniuxy.com)
spring提供了profile机制,可以根据不同的profile提供不同的配置
• 提供多环境的配置文件,给配置文件application.yml增加环境后缀,例如application-dev.yml
• 设置profile,在jar运行时设置-Dspring.profiles.active=dev ; 配置环境变量 spring.profiles.active=dev;idea 直接配置
在idea中的配置
学习总结:
今晚复习了传参(git是queryString post是封装成FormData),profiles(测试-开发-生产),日志(trace-debug-info-warn-error)