日志的使用与Rest风格开发
日志种类
根日志:全局日志 rootLogger
子日志: 包日志 logger
日志级别
日志级别:off,fatal,error,warn,info,debug,trace,all
日志级别 | 描述 |
---|---|
OFF | 关闭:最高级别,不打印日志。 |
FATAL | 致命:指明非常严重的可能会导致应用终止执行错误事件。 |
ERROR | 错误:指明错误事件,但应用可能还能继续运行。 |
WARN | 警告:指明可能潜在的危险状况。 |
INFO | 信息:指明描述信息,从粗粒度上描述了应用运行过程。 |
DEBUG | 调试:指明细致的事件信息,对调试应用最有用。 |
TRACE | 跟踪:指明程序运行轨迹,比DEBUG级别的粒度更细。 |
ALL | 所有:所有日志级别,包括定制级别。 |
级别越高,输出信息越少! |
日志使用
1、在配置文件中配置
在配置文件中,配置对应包的级别,可以看到对应的日志信息,比如为了监控dao的sql语句,我们可以把dao的日志级别设置为debug!
// logging.level.包名=debug
logging.level.com.zidu.dao=debug
2、在类中使用
1、在类中定义对象
private static Logger log=LoggerFactory.getLogger(UserController.class);
2、在方法使用
public void save(User user)
{
1、直接用+号进行拼接
log.debug("输出日志"+user);
2、{}是占位符,后面穿进去对应参数即可,可以传多个参数
log.debug("输出日志:{}",user);
}
Rest风格
前后端分离的风格转换
Rest风格
四种传参方式
QueryString传递参数
http://localhost:8080/user/findById?id=1&name=zhangsan
后端代码
方法一:直接利用同名参数传递
public void test(String id,String name)
{
System.out.println(id);
System.out.println(name);
}
--------------------------------------------------------------------
方法二:利用实体类进行封装,但是实体类里面必须要有对应的属性
public class User
{
private Stirng id;
private String name;
}
public void test(User user)
{
System.out.println(user);
}
路径传递参数
http://localhost:8080/user/findById/21/zhangsan
后端代码
注意事项:路径中的占位符的名称是什么,下面接收参数就要写什么
假设上面路径中id换成了aa,那么,下面也要换成这个@PathVariable("aa")
@RequestMapping(/findVyId/{id}/{name})
public void test(@PathVariable("id")String id,@PathVariable("name")String name)
{
System.out.println(id);
System.out.println(name);
}
form表单
form="url"
<input type="text" name="name">
public void test(String name)
{
System.out.pritln(name);
}
-----------------------------------------------------------
public class User
{
private Stirng id;
private String name;
}
public void test(User user)
{
System.out.println(user);
}
form表单提交文件【提交文件的唯一方式】
form="url" method="post" enctypr="multipart/form-data"
<input type="file" name="photo" >
后端代码
public void test(Multipart photo) //这个字段名要和前端的字段名一致
{
}
JSON格式字符串
content-type:“application/json”
异步请求("url","{'id':1,'name':'xiaochen','age':21}")
public void test(@RequsetBody User user)
{
System.out/println(user);
}
开发RestFul风格的后端接口
@RestController = @Controller+@ResponseBody
1、标志着这个类是一个controller
2、将所有的方法返回的字符串都转化为json格式
@RequestMapping
请求映射方法上,用来给Controller类或者方法上加上访问路径!
注意:使用这个注解,所有的请求方式都可以访问该路径!
@GetMapping :只能处理get请求方式的请求
@PostMapping:只能处理post请求方式的请求
@DeleteMapping:只能处理delete请求方式的请求
@PutMapping:只能处理put请求方式的请求