Spring属性注入之有参构造函数

Spring通过有参构造函数的方式可以实现属性注入

1.需要进行属性注入的类

package com.maty.property; 
/** 
* @author maty  e-mail:[email protected]
* @version 创建时间:2018年5月16日 下午12:14:50 
* 类说明 该类用来练习如何使用有参数的构造函数进行参数注入 
*/
public class PropertyConstructor
{
	private String name;
	public PropertyConstructor(String name)
	{
		this.name = name;
	}
	
	public void show()  //用来展示属性注入是否成功
	{
		System.out.println("PropertyConstructor.name = "+ name);
	}
}

 2.配置applicationContext.xml文件


	
		  //这里的name对应需要被注入的参数名称,也就是构造函数的参数名称,value为需要被注入的值
	
3.编写测试类查看注入是否成功

    

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.maty.property.PropertyConstructor;

/** 
* @author maty  e-mail:[email protected]
* @version 创建时间:2018年5月16日 下午12:23:01 
* 类说明 
*/
public class MyTest
{
	public static void main(String[] args)
	{		
		//第一步:加载xml文件
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		PropertyConstructor bean = (PropertyConstructor) context.getBean("propertyConstructor");
		bean.show();
	}
	
}

结果:

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
PropertyConstructor.name = maty
总结:使用有参构造函数进行属性注入的关键点就是需要在applicationContext.xml配置文件中使用constructor-arg标签来指明实例在初始化时候使用的构造函数并且为构造函数的参数赋值.

你可能感兴趣的:(J2EE)