`

Spring初体验(二)多参数赋值

阅读更多

我们在平时编写代码时常常用到给方法中多个参数的赋值,那么在Spring中是如何实现的呢。

 

案例:给方法中多个参数赋值

 

1、创建接口GreetingService,代码如下

 

 

package cn.csdn.service;

public interface GreetingService {
	
	public void say();

}

 

 

解析:这个接口中只有一个方法

 

2、创建接口实现类GreetingServiceImpl,代码如下

 

 

package cn.csdn.service;

public class GreetingServiceImpl implements GreetingService {
	
	/**私有属性*/
	private String say;
	
	/**在定义一个私有的属性*/
	private String name;

	/**
	 * IOC依赖注入的方式
	 * 2、通过构造器注入
	 * */
	public GreetingServiceImpl(String name,String say){
		this.name=name;
		this.say=say;
	}
	
	@Override
	public void say() {
		System.out.println("你给"+name+"打的招呼是:"+say);
	}
	
}

 

 

解析:这个接口实现类中有一个有参构造器,其中有两个参数,需要给这两个参数注入值

 

3、创建Spring配置文件applicationContext.xml

 

这里有两种方法为参数赋值:

 

1、利用索引方法,代码如下:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


   <!-- 配置一个bean 指明bean id class property属性 value属性值 加载这个文件的时候 进行初始化 (需要根据bean的配置)-->
    <bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
     
     <!-- 通过构造器参数的索引位置匹配方法 索引位置从0开始 -->
     <constructor-arg index="0">
       <value>Zhang_Di</value>
     </constructor-arg>
    
     <constructor-arg index="1">
       <value>你好!</value>
     </constructor-arg>
     
    </bean>

</beans>

 

 注意:通过构造器参数的索引位置匹配方法时,索引位置是从0开始

 

2、利用参数类型进行注入,代码如下:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


   <!-- 配置一个bean 指明bean id class property属性 value属性值 加载这个文件的时候 进行初始化 (需要根据bean的配置)-->
    <bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
     
     <!-- 通过构造器的参数类型匹配方法进行注入 -->
     
     <constructor-arg type="java.lang.String">
       <value>Zhang_Di</value>
     </constructor-arg>
     
     <constructor-arg type="java.lang.String">
       <value>你好!</value>
     </constructor-arg>
    
    </bean>

</beans>

 

注意:因为两个参数的类型都为String类型,所以在赋值时是按顺序赋值,若两参数类型不同,则会自动付给相应类型的值

 

3、两种方法的运行结果相同:

 

你给Zhang_Di打的招呼是:你好!

 

 

----------------------------------------------------------------

以上属个人理解,若有不足,请各位高手指点,谢谢..

 

2
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics