gpt4 book ai didi

java - Spring Autowiring,我只有一个实现应该 Autowiring 吗?如果是这样,我应该 Autowiring 实现吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:29 26 4
gpt4 key购买 nike

这更像是一个最佳实践类型的问题。

我听过很多次:

a) 在 Spring 中 Autowiring 时,最佳做法是 Autowiring 接口(interface)“而不是”实现。

和..

b) 我还听说,如果您只有“一个”实现,那么您就不应该真正使用接口(interface)。

这是我的困境,我有一个接口(interface)“MyService”和一个实现 MyServiceImpl .我用 @Autowiredz MyService in MyController` 和“MyServiceTest”中。

我不需要另一个实现。

显然这违反了规则 b),但 Autowiring 实现将违反规则 a)。

所以我的问题是……我该怎么办?在这种情况下,我是否应该选择根本不使用 Spring 而只是使用 new 关键字实例化“MyService”?

最佳答案

你应该 Autowiring 接口(interface),因为这样当你以后想改变实现时,你只需要在 @Autowire 上面添加 @Qualifier 而不是更改代码中的名称。当您注入(inject)模拟实现时,它也更适合测试目的。

关于java - Spring Autowiring,我只有一个实现应该 Autowiring 吗?如果是这样,我应该 Autowiring 实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41342268/

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