gpt4 book ai didi

spring - Spring Data 是否强制依赖于 SLF4j?

转载 作者:行者123 更新时间:2023-12-04 18:44:48 24 4
gpt4 key购买 nike

Spring 文档明确提到 spring 仅依赖于 commons-logging。
但是,如果我向 Spring Data MongoDb 添加依赖项,gradle 添加了对 slf4j 的依赖项。

org.springframework.data:spring-data-commons:1.5.1.RELEASE       
+--- org.springframework:spring-core:3.1.4.RELEASE (*)
+--- org.springframework:spring-beans:3.1.4.RELEASE (*)
+--- org.slf4j:slf4j-api:1.7.1
\--- org.slf4j:jcl-over-slf4j:1.7.1

这是否意味着如果我使用 spring 数据,我将被迫使用 SLF4j?

最佳答案

是的,我们对 Slf4j API 有编译时依赖性,因为它是 Java 的事实上的标准日志记录 API,并且是所有可用选项中麻烦最少的一个:JUL - 我最好不要在这个上留下一个字(如果您仍然需要被说服,请参阅 this one),Commons Logging - 运行时提供程序检测具有 proven a PITA .

我们还需要 jcl-over-slf4j 提供一个 Commons Logging 实现来满足核心 Spring 框架的 Commons Logging 依赖项,由于遗留原因它必须维护一个依赖项,但会有 not been introduced in the first place如果 Slf4j 在过去可用。

所以,是的。我们正在设置激励措施来做“正确的事情”(tm),阅读:“Java 社区已达成共识的方式”。如果您真的想坚持使用 Commons Logging,只需添加 slf4j-jcl 桥接即可。如果要删除 jcl-over-slf4j 桥接,只需排除依赖项即可。

关于spring - Spring Data 是否强制依赖于 SLF4j?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com