两种依赖注入的类型都是什么?
两种依赖注入的类型分别是setter注入和构造方法注入。
setter注入: 一般情况下所有的java bean, 我们都会使用setter方法和getter方法去设置和获取属性的值,示例如下:
public class namebean {
???? String????? name;??
???? public void setName(String a) {
??????? name = a; }
???? public String getName() {
??????? return name; }
??? }
我们会创建一个bean的实例然后设置属性的值,spring的配置文件如下:
<bean id=”bean1″??>
?? <property?? name=”name” >
?????? <value>tom</value>
?? </property>
</bean>
Spring会调用setName方法来只是name熟悉为tom
构造方法注入:构造方法注入中,我们使用带参数的构造方法如下:
public class namebean {
???? String name;
???? public namebean(String a) {
??????? name = a;
???? }???
}
我们会在创建bean实例的时候以new namebean(”tom”)的方式来设置name属性, Spring配置文件如下:
<bean id=”bean1″?>
??? <constructor-arg>
?????? <value>My Bean Value</value>
?? </constructor-arg>
</bean>
使用constructor-arg标签来设置构造方法的参数。