Spring的两种依赖注入方式:setter方法注入与构造方法注入

   Spring的两种依赖注入方式:setter注入与构造方法注入,这两种方法的不同主要就是在xml文件下对应使用property和constructor-arg属性, 例如:

property属性:(其中name的值为原类中的属性名)

constructor-arg属性:(其中index的值为0~n-1,n代表构造函数中的输入参数的数量)


1.setter方法注入

   setter方法注入即是创建一个普通的JavaBean类,为需要注入的属性通过对应的setter方法即可,如:

(1)创建一个Id类:

package com.loster.li;

public class Id {
	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
(2)创建配置文件Id_Bean.xml


           
	
	
	
	
(3)编写测试类IdTest.java,并运行:
package com.loster.li;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class IdTest {
	public static void main(String[] args){
		ClassPathXmlApplicationContext context = new 
				ClassPathXmlApplicationContext("com/loster/li/Id_Bean.xml");
		
		Id id = (Id)context.getBean("id");
		System.out.println(id.getId());
		System.out.println(id.getName());
	}
}
    运行结果如下:



2.构造方法注入

(1)将上面的Id.class修改为:

package com.loster.li;

public class Id {
	private int id;
	private String name;
	public Id(int id,String name){
		this.id = id;
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
(2)将上面的Id_Bean.xml修改为:



           
	
	
	
	
(3)再次运行IdTest.java,运行结果如下:

                                                                                                                    




你可能感兴趣的:(Spring)