专栏首页关忆北.SpringBoot学习四:日志框架、SpringBoot自动化配置

SpringBoot学习四:日志框架、SpringBoot自动化配置

SpringBoot的日志模块选择 SpringBoot底层选择的日志抽象层是@Slf4j,日志的实现是Logback。 日志的使用

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

如果在使用了Lombok的话,可以使用@Slf4j注解进行使用日志框架。提供一个 属性名为log 的 log4j 日志对像。

@Slf4j
public class HelloWorld {
  public static void main(String[] args) {
    log.info("Hello World");
    log.error("hello world");
  }
}

在SpringBoot中使用@Slf4j+logback组合,如果整合其他模块的话,如MyBatis、Hibernate,其底层可能使用了不同版本的@Slf4j,在启动时,可能会版本冲突导致无法启动。 Spring解决方案: 1、将系统中其他日志框架先排除出去 2、用中间包来替换原有的日志框架 3、导入slf4j其他的实现 SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可。

SpringBoot自动化配置

SpringBoot官网介绍: Spring Boot provides auto-configuration for Spring MVC that works well with most applications.

1.Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. 2.Support for serving static resources, including support for WebJars (see below). 3.Automatic registration of Converter, GenericConverter, Formatter beans. 4.Support for HttpMessageConverters (see below). 5.Automatic registration of MessageCodesResolver (see below). 6.Static index.html support. 7.Custom Favicon support (see below). 8.Automatic use of a ConfigurableWebBindingInitializer bean (see below)

1.自动配置视图解析器,根据方法的返回值得到视图对象,视图对象决定如何渲染

2.支持静态资源文件夹路径,webjars 把静态文件放在这些路径下面,就会被加载到

“classpath:/META-INF/resources/”, “classpath:/resources/”, “classpath:/static/”, “classpath:/public/”;优先级顺序为:META-INF/resources > resources > static > public

3.自动注册Converter,GenericConverter和Formatter bean

  • Converter:转化,页面提交数据时,做类型转换,如用户年龄18,可以把18转换成Integer类型
  • Formatter:格式化,前端传入2020-8-9/2020.8.9/2020/8/9,等日期格式时,将数据格式化成Date类型
  • GenericConverter:支持在多个不同的原类型和目标类型之间进行转换 参考地址

4.支持HttpMessageConverters:SpringMVC用来转换Http请求和响应的;获取所有的HttpMessageConverter。

HttpMessageConverter :负责 json 数据进行交互。前端提交Json格式的数据被解析成 Java 对象作为 API入参,API 返回结果将 Java 对象解析成 json 格式数据返回给前端。

5.自动注册MessageCodesResolver:定义错误代码生成规则

Spring MVC有一个实现策略,用于从绑定的errors产生用来渲染错误信息的错误码:MessageCodesResolver。Spring Boot会自动为你创建该实现,只要设置spring.mvc.message-codes-resolver.format属性为PREFIX_ERROR_CODE或POSTFIX_ERROR_CODE

参考地址

6.静态 index.html 页面支持 7.自定义Favicon支持 8.自动使用ConfigurableWebBindingInitializer ConfigurableWebBindingInitializer的主要作用就是 :初始化WebDataBinder,将请求的参数转化为对应的JavaBean,并且会结合类型、格式转换等API一起使用。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/weixin_42313773复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • SpringBoot----日志框架和配置

    spring boot日志使用trace()方法时‘trace(java.util.function.Supplier<java.lang.String>)‘…...

    大忽悠爱学习
  • Springboot 系列(四)Spring Boot 日志框架

    Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack。那我们在项目中该使用哪种日志框...

    未读代码
  • Springboot 系列(四)Spring Boot 日志框架

    Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack。那我们在项目中该使用哪种日志框...

    不会飞的小鸟
  • SpringBoot日志框架

    日志框架的出现是为了更好的控制软件运行记录的信息,如果使用大量的System.out.println("")将无法有效的控制输出,市面上常见的日志框架有: ...

    HaC
  • springboot日志配置

    微醺
  • SpringBoot——配置logback日志

    介绍: 在项目运行中,我们需要对项目的出错或运行有了解,可以通过日志文件的查看来实现。因此,项目日志的打印就至关重要。本文给出一种logback日志的配置。改配...

    凡人飞
  • springboot 配置日志输出

    FHAdmin
  • springboot日志默认配置

    桑鱼
  • SpringBoot优雅地配置日志

    我们可以通过一个配置文件来灵活地进行上面的配置,而不需要修改应用的代码。Log4j作为当时作为最先比较流行的日志框架,给我们在应用开发和维护带来了很大的便捷。

    乱敲代码
  • springboot 默认日志配置源码

    路过君
  • SpringBoot优雅地配置日志

    我们可以通过一个配置文件来灵活地进行上面的配置,而不需要修改应用的代码。Log4j作为当时作为最先比较流行的日志框架,给我们在应用开发和维护带来了很大的便捷。

    JAVA葵花宝典
  • SpringBoot 的 logback 日志配置

    1. 在 resources 目录下创建日志的配置文件 logback-spring.xml , 这是 SpringBoot 官方约定的名称

    北漂的我
  • SpringBoot优雅地配置日志

    我们可以通过一个配置文件来灵活地进行上面的配置,而不需要修改应用的代码。Log4j作为当时作为最先比较流行的日志框架,给我们在应用开发和维护带来了很大的便捷。

    程序员小明
  • SpringBoot教程(四) | SpringBoot中的配置文件

    上文我中我们提到,spring中常用的配置文件有yml 和 properties 两种,都是以application来命名的,通常放到resources文件夹下...

    一缕82年的清风
  • 最通俗易懂的springboot框架学习教程—SpringBoot配置SSL(https)

    SpringBoot可以通过在application.properties或application.yml配置文件中配置各种server.ssl.*属性来声明性...

    晴天娃娃只会笑不会哭
  • SpringBoot 实战 (七) | 默认日志配置

    默认情况下,Spring Boot 用 Logback 来记录日志,并用 INFO 级别输出到控制台。如果你在平常项目中用过 Spring Boot,你应该已经...

    JavaFish
  • springboot支付项目之日志配置

    private  final Logger logger = LoggerFactory.getLogger(LoggerTest.class);

    凯哥Java
  • 第五章 ,springboot 日志框架

    以后开发的时候,日志记录方法的调用,不应该直接调用日志的实现层,而是调用日志的抽象层里面的方法(也就是先biz层再dao层)

    全栈程序员站长
  • SpringBoot系列之日志框架使用教程

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    SmileNicky

扫码关注腾讯云开发者

领取腾讯云代金券