Spring 自动装配

spring 自动装配

 

spring框架的自动装配功能使您可以隐式注入对象依赖项。它在内部使用setter或构造函数注入。

自动装配不能用于注入基本值和字符串值。它仅适用于参考。

 

自动装配的优点

它需要 更少的代码,因为我们不需要编写代码来显式注入依赖项。

 

自动装配的缺点

没有程序员的控制权。

它不能用于原始值和字符串值。

 

自动装配模式

有很多自动装配模式:

模式 说明
no 这是默认的自动装配模式。这意味着默认情况下没有自动装配。
byname byname模式根据bean的名称注入对象依赖项。在这种情况下,属性名称和bean名称必须相同。它在内部调用setter方法。
bytype bytype模式根据类型注入对象依赖项。因此属性名称和bean名称可以不同。它在内部调用setter方法。
constructor 构造函数模式通过调用类的构造函数来注入依赖项。它会调用具有大量参数的构造函数。
autodetect 从spring 3开始不推荐使用。

 

自动装配示例

让我们看一下在spring使用自动装配的简单代码。您需要使用bean元素的autowire属性来应用自动装配模式。

 

让我们看看spring自动布线的完整示例。为了创建此示例,我们创建了4个文件。

 

  • b.java
  • a.java
  • applicationcontext.xml
  • test.java

 

b.java

此类仅包含构造函数和方法。

package org.sssit;
public class b {
b(){system.out.println("b is created");}
void print(){system.out.println("hello b");}
}

a.java

此类包含b类的引用以及构造函数和方法。

package org.sssit;
public class a {
b b;
a(){system.out.println("a is created");}
public b getb() {
  return b;
}
public void setb(b b) {
  this.b = b;
}
void print(){system.out.println("hello a");}
void display(){
  print();
  b.print();
}
}

applicationcontext.xml

                
相关文章