构造器注入法:
/**
* 构造器注入可以根据参数索引注入、参数类型注入或Spring3支持的参数名注入,
* 但参数名注入是有限制的,需要使用在编译程序时打开调试模式
* (即在编译时使用“javac –g:vars”在class文件中生成变量调试信息,默认是不包含变量调试信息的,
* 从而能获取参数名字,否则获取不到参数名字)
* 或在构造器上使用@ConstructorProperties(java.beans.ConstructorProperties)注解来指定参数名。
*/
public class HelloImplConstr implements HelloApi {
private String message;
private int index;
@ConstructorProperties({"message","index"})
public HelloImplConstr(String message,int index){
this.message = message;
this.index = index;
}
public void sayHello() {
System.out.println(this.index+":"+this.message);
}
}
<!-- 通过构造器参数索引方式依赖注入 -->
<bean id="byIndex" class="com.constructor.HelloImplConstr">
<constructor-arg index="0" value="Hello Spring by index"></constructor-arg>
<constructor-arg index="1" value="1"></constructor-arg>
</bean>
<!-- 通过构造器参数类型方式依赖注入 -->
<bean id="byType" class="com.constructor.HelloImplConstr">
<constructor-arg type="java.lang.String" value="Hello Spring by type"></constructor-arg>
<constructor-arg type="int" value="2"></constructor-arg>
</bean>
<!-- 通过构造器参数名称方式依赖注入 -->
<bean id="byName" class="com.constructor.HelloImplConstr">
<constructor-arg name="message" value="Hello Spring by name"></constructor-arg>
<constructor-arg name="index" value="3"></constructor-arg>
</bean>
<!-- 静态工厂方法注入和实例工厂注入 参数注入一样 静态工厂方式和实例工厂方式根据参数名字注入的方式
只支持通过在class文件中添加“变量调试信息”方式才能运行,ConstructorProperties注解方式不能工作-->
分享到:
相关推荐
【第三章】 DI 之 3.1 DI的配置使用 ——跟我学spring3 【第三章】 DI 之 3.2 循环依赖 ——跟我学spring3 【第三章】 DI 之 3.3 更多DI的知识 ——跟我学spring3 【第三章】 DI 之 3.4 Bean的作用域 ——跟我学...
【第八章】 对ORM的支持 之 8.1 概述 ——跟我学spring3 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3 【第八章】 对ORM的支持 之 8.3 ...【第十三章】 测试 之 13.3 集成测试 ——跟我学spring3
跟我学Spring,Spring3学习资料,讲的还是很详细的,适合新手看
跟我学spring3 跟我学spring3 跟我学spring3
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
跟我学spring3的pdf,便于学习,供大家分享,一起学习
跟我学Spring3
跟我学spring3(1-7).pdf 跟我学spring3(8-13).pdf 跟我学spring3-源码.rar 跟我学spring3-项目源码(pointShop)(基于注解).rar 跟我学spring3-项目源码(pointShop)(基于XML配置文件).rar
学习spring总结的笔记 希望对初学者有所帮助
spring指南学习笔记
Spring6学习笔记,师承老杜
三更springsecurity学习笔记
跟我学spring3.pdf 跟我学spring3-源码.rar 跟我学spring3-项目源码(pointShop)(基于注解).rar 跟我学spring3-项目源码(pointShop)(基于XML配置文件).rar
springcloud学习笔记.pdf
Spring Cloud 学习入门笔记,全方面实践,包含 spring cloud alibaba 模块