Spring 中的自动装配2024 年 8 月 29 日 | 阅读 3 分钟 Spring 框架的自动装配功能使您可以隐式地注入对象依赖项。 它在内部使用 setter 或构造函数注入。 自动装配不能用于注入原始类型和字符串值。 它仅适用于引用。 自动装配的优点它需要更少的代码,因为我们不需要编写代码来显式地注入依赖项。 自动装配的缺点程序员无法控制。 它不能用于原始类型和字符串值。 自动装配模式有很多自动装配模式
自动装配示例让我们看看在 spring 中使用自动装配的简单代码。 您需要使用 bean 元素的 autowire 属性来应用自动装配模式。 让我们看看 spring 中自动装配的完整示例。 为了创建这个例子,我们创建了 4 个文件。
此类仅包含构造函数和方法。 A.java此类包含 B 类的引用以及构造函数和方法。 applicationContext.xmlTest.java此类从 applicationContext.xml 文件中获取 bean 并调用 display 方法。 输出 b is created a is created hello a hello b 1) byName 自动装配模式在使用 byName 自动装配模式的情况下,bean id 和引用名称必须相同。 它在内部使用 setter 注入。 但是,如果您更改 bean 的名称,它将不会注入依赖项。 让我们看看我们将 bean 的名称从 b 更改为 b1 的代码。 2) byType 自动装配模式在使用 byType 自动装配模式的情况下,bean id 和引用名称可能不同。 但是必须只有一个类型的 bean。 它在内部使用 setter 注入。 在这种情况下,它可以正常工作,因为您已经创建了 B 类型的实例。 您的 bean 名称与引用名称不同也没关系。 但是,如果您有多个一种类型的 bean,它将无法工作并抛出异常。 让我们看看有很多 B 类型 bean 的代码。 在这种情况下,它将抛出异常。 3) constructor 自动装配模式在使用构造函数自动装配模式的情况下,spring 容器通过最高参数化的构造函数注入依赖项。 如果您在一个类中有 3 个构造函数,零参数、一个参数和两个参数,那么将通过调用两个参数的构造函数来执行注入。 4) no 自动装配模式在使用 no 自动装配模式的情况下,spring 容器不会通过自动装配注入依赖项。 下一主题使用工厂方法的依赖注入 |
我们请求您订阅我们的新闻通讯以获取最新更新。