【JavaEE进阶】 关于?志框架(SLF4J)

发布时间:2024年01月22日

🌳SLF4j

在这里插入图片描述

SLF4J不同于其他?志框架,它不是?个真正的?志实现,?是?个抽象层,对?志框架制定的?种规范、标准、接?.所有SLF4J并不能独?使?,需要和具体的?志框架配合使?

🌲??模式(外观模式)

SLF4J是??模式的典型应?(但不仅仅使?了??模式).

🚩??模式的定义

??模式(Facade Pattern)?称为外观模式,提供了?个统?的接?,?来访问?系统中的?群接?.

其主要特征是定义了?个?层接?,让?系统更容易使用。

  • 原?:Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higherlevel interface that makes the subsystem easier to use.
  • 解释:要求?个?系统的外部与其内部的通信必须通过?个统?的对象进?.??模式提供?个?层次的接?,使得?系统更易于使?

在这里插入图片描述

??模式主要包含2种??:

  • 外观??(Facade):也称????,系统对外的统?接?.

  • ?系统??(SubSystem):可以同时有?个或多个SubSystem.每个SubSytem都不是?个单独的类,?是?个类的集合.SubSystem并不知道Facade的存在,对于SubSystem??,Facade只是另?个客?端?已(即Facade对SubSystem透明)

?如去医院看病,可能要去挂号,?诊,化验,取药,让患者或患者家属觉得很复杂,如果有提供接待?员,只让接待?员来处理,就很?便
在这里插入图片描述

🚩??模式的优点

  • 减少了系统的相互依赖.实现了客?端与?系统的耦合关系,这使得?系统的变化不会影响到调?它的客?端;

  • 提?了灵活性,简化了客?端对?系统的使?难度,客?端?需关??系统的具体实现?式,?只需要和??对象交互即可.

  • 提?了安全性.可以灵活设定访问权限,不在??对象中开通?法,就?法访问

🍃关于SLF4J框架

SLF4J就是其他?志框架的??.SLF4J可以理解为是提供?志服务的统?API接?,并不涉及到具体的?志逻辑实现

那么为什么要引入日志门面呢?我们来看一下引入与不引入的区别就知道了

🚩不引??志??

常?的?志框架有log4J,logback等.如果?个项?已经使?了log4j,?你依赖的另?个类库,假如是Apache Active MQ,它依赖于另外?个?志框架logback,那么你就需要把logback也加载进去
在这里插入图片描述

存在问题:

  1. 不同?志框架的API接?和配置?件不同,如果多个?志框架共存,那么不得不维护多套配置?件(这个配置?件是指???定义的配置?件).

  2. 如果要更换?志框架,应?程序将不得不修改代码,并且修改过程中可能会存在?些代码冲突.

  3. 如果引?的第三?框架,使?了多套,那就不得不维护多套配置

🚩引??志??

引????志框架之后,应?程序和?志框架(框架的具体实现)之间有了统?的API接?(???志框架实现),此时应?程序只需要维护?套?志?件配置,且当底层实现框架改变时,也不需要更改应?程序代码.
在这里插入图片描述

SLF4J就是这个?志??.

总的来说,SLF4J使你的代码独?于任意?个特定的?志API,实现解耦。这是?个对于开发API的开发者很好的思想.

?总结

关于《【JavaEE进阶】 关于?志框架(SLF4J)》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下!

文章来源:https://blog.csdn.net/m0_71731682/article/details/135746072
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。