gpt4 book ai didi

Spring中基于Java的依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-02 05:08:26 25 4
gpt4 key购买 nike

我正在 web 应用程序中工作,这是我第一次使用基于 Java 的配置。我有一堆类来配置所有:

  • 应用程序上下文
  • 持久上下文
  • 安全上下文
  • WebAppInitializer
  • WebMvcContext

现在我正在定义 Spring Data 存储库和服务层,因此我需要在那里注入(inject)存储库。通常我会使用 Autowired,但我读到它 is preferable to define the injections manually所以问题是,在哪里?

也许前面的配置类都不适合此类任务,但是,我是否必须创建一个类来定义所有注入(inject),还是最好为每个函数创建一个类?如果项目增长太多会发生什么?

我认为主要问题是在 Spring 项目中组织依赖关系的最佳方式是什么。你做什么?

我在这里添加了该项目结构的图像作为请愿书。我正在尝试解耦层,现在我需要将 UserRepository 注入(inject) UserService。

enter image description here

最佳答案

不,我不会定义一个类来完成所有注入(inject)。您的所有类都以这种方式耦合。

我不明白“手动定义注入(inject)”是什么意思。您必须在 XML 或注释中指定它们。据我所知,没有其他方法。

您没有说明您使用的是 XML 还是注释配置。我发现自己更多地使用后者,只有足够的 XML 配置来告诉 Spring 应用程序上下文扫描注释。

如果您使用 XML,Spring 惯用法会要求您分层指定配置。对于注释来说这是一个没有实际意义的问题,因为它们会进入您的源代码。

您的应用程序将在启动时读取 Spring 上下文,实例化所有 bean,并将必要的依赖项连接在一起。从那时起你就可以走了。

我不同意您提供的链接。避免 Autowiring ?没有。

关于Spring中基于Java的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27555752/

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