1

我是 Spring Framework 的新手,当然,关于 Spring 的第一件事就是依赖注入。现在我可能错了,因为我刚开始学习 Spring 框架(尤其是关于依赖注入),但我认为将 bean 依赖注入到所述对象并不意味着事务数据。由于 bean 定义例如在 spring.xml(蓝图)中定义,因此它不是用于事务数据,而是用于静态和少量数据。我没有看到有任何方法可以使用动态 XML(在运行时创建)将数千个事务对象注入另一个对象。

那么我做对了吗?如果是这样,依赖注入的真正好处是什么?

4

4 回答 4

4

使用依赖注入容器而不是让组件满足它们自己的依赖有几个好处。其中一些好处是:

  1. 减少依赖

  2. 减少依赖携带

  3. 更多可重用代码

  4. 更可测试的代码

  5. 更具可读性的代码

此处更详细地解释了这些好处。

于 2013-09-11T06:21:28.433 回答
2

没错,事务数据(例如:表示表行的数据)通常不会以声明方式注入。Spring DI(依赖注入)通常用于处理多个类之间的协作。

我见过的常见示例是 DAO(数据访问对象)和 MVC(模型视图控制器)模式。在企业环境中,通常有一个项目包含数十个或数百个数据库表——因此有数十个/数百个 DAO 类被注入到控制器类中。

如果不使用 DI,则需要有意识地管理应该首先创建哪个 DAO,以及应该将哪个 DAO 注入到哪个控制器等。(这是一场噩梦)

代码重构(应该)也很常见。业务需求总是在不断变化。如果没有 DI,一个简单的重构可能会导致“哪个类取决于什么和在哪里”的巨大而棘手的解开

于 2013-02-08T05:27:14.993 回答
0

在我读过的所有关于依赖注入的文章中,是迄今为止最好的。

如果您将Spring用于 DI,我建议您阅读有关@primary注释的信息。Spring 使为给定服务选择所需的实现(从多个实现中)变得更加容易。这篇文章不错。

于 2019-07-01T06:52:17.720 回答
0

依赖注入和控制反转改变了控制流,为特定组件增加了管理去依赖图和管理它的连接方式的责任。结果是依赖和依赖之间的极大解耦,提高了代码的可维护性、应用程序的可靠性和可测试性。

于 2020-09-12T08:20:13.350 回答