加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 在Spring项目中一起使用spring-core和spring-context依

发布时间:2020-12-15 01:26:07 所属栏目:大数据 来源:网络整理
导读:我是Spring的初学者,我试图通过阅读分散在互联网上的一些代码来学习它.当我查看这些代码的pom.xml时,我几乎总会看到人们使用“spring-core”和“spring-context”作为该项目的附加依赖项.当我查看依赖层次结构时,我发现spring-core已经在spring-context中了.

我是Spring的初学者,我试图通过阅读分散在互联网上的一些代码来学习它.当我查看这些代码的pom.xml时,我几乎总会看到人们使用“spring-core”和“spring-context”作为该项目的附加依赖项.当我查看依赖层次结构时,我发现spring-core已经在spring-context中了.

所以我的问题是:是否有必要同时使用它们? “spring-core”中的“spring-core”和作为单独工件的“spring-core”之间是否有区别?

最佳答案
这称为传递依赖.如果你没有声明spring-core,你仍然会得到它,因为spring-context声明了它.

今天,无论你是否声明spring-core,你的代码都可以工作,因为无论如何都要通过传递依赖机制得到它.所以这是一个最佳实践问题,而不是它是否有效.

要问的问题是,为什么我需要弹簧芯?

>如果你的代码没有直接引用它,那么你就不需要它,即使spring-context也是如此.因此,让spring-context负责声明它需要spring-core.不要自己声明.
>如果您的代码直接引用了spring-core中的某些内容,那么您确实需要它,无论spring-context是否需要它.也许在未来的版本中,spring-context将不再依赖于spring-core.所以,你应该声明spring-core.

在一个句子中,您应该明确声明您自己使用的依赖项,即使它们也是可传递的.

这对玩具项目来说并不重要.但它使大型项目的长期维护变得更加容易.

编辑:spring-core和spring-context密切相关,以上建议无关紧要.重要的一个常见情况是,当你有一个依赖于记录包L的库A.如果你自己的代码使用L,那么你最好明确地声明这个依赖,因为A将来很容易切换到使用不同的日志记录包.另一方面,弹簧环境不太可能切换到弹簧核心功能的不同提供商……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读