`

跟我学Spring3 学习笔记三

 
阅读更多

     构造器注入法:

/**
 * 构造器注入可以根据参数索引注入、参数类型注入或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注解方式不能工作-->

 

 

分享到:
评论
1 楼 sblig 2012-07-12  

@Test 
	public void testConstructor(){
		//读取配置文件实例化一个Ioc容器
		ApplicationContext context = new ClassPathXmlApplicationContext("helloworld.xml");
		//构造器注入 根据参数索引进行注入
		HelloApi helloApi = context.getBean("byIndex",HelloApi.class);
		helloApi.sayHello();
		
		//构造器注入 根据参数类型进行注入
		HelloApi helloApi2 = context.getBean("byType",HelloApi.class);
		helloApi2.sayHello();
		
		//构造器注入 根据参数名字进行注入
		HelloApi helloApi3 = context.getBean("byName",HelloApi.class);
		helloApi3.sayHello();
		
	}
 

相关推荐

    Springcloud学习笔记.md

    Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...

    跟我学spring3pdf,高清

    《跟我学Spring3》是一本深入浅出的Spring框架学习指南,主要针对Spring 3.x版本进行讲解。这本书旨在帮助初学者和有一定经验的开发者更好地理解和应用Spring框架,提升其在实际开发中的技能。PDF文档提供了清晰的...

    跟我学spring3

    《跟我学Spring3》系列教程是为深入了解Spring框架的开发者准备的一份详尽指南,尤其适合正在准备面试或提升自己Spring技术能力的人群。Spring框架作为Java开发中的核心组件,其重要性不言而喻,它为企业级应用提供...

    跟我学Spring,Spring3学习资料

    关于Spring3学习资料,本材料旨在为新手提供系统学习Spring3的资源和实例。在内容组织上,涵盖以下几个主要部分: ### 1. IoC(控制反转)与DI(依赖注入) - **IoC基础:** IoC是Spring的核心概念之一,通过它,...

    跟我学Spring3

    《跟我学Spring3》这本书是针对Java开发人员深入学习Spring框架第三版的一份教程。Spring作为Java企业级应用开发中的核心框架,它以其强大的功能、灵活性和模块化设计深受开发者喜爱。Spring3版本在前一版本基础上...

    开涛系列—跟我学spring3 pdf+学习源码+项目源码

    跟我学spring3.pdf 跟我学spring3-源码.rar 跟我学spring3-项目源码(pointShop)(基于注解).rar 跟我学spring3-项目源码(pointShop)(基于XML配置文件).rar

    开涛 跟我学spring3 pdf+源码

    总的来说,《跟我学Spring3》结合PDF教程和源码,为Java开发者提供了一套完整的Spring学习路径,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。通过学习和实践,你可以掌握Spring的核心技术和最佳实践,...

    跟我学spring3(1-13)

    《跟我学Spring3》是一本深入浅出介绍Spring框架的电子书,分为两部分,分别是“跟我学Spring3(8-13).pdf”和“跟我学Spring3(1-7).pdf”,全面覆盖了Spring框架的核心概念和技术。Spring作为Java开发中的主流框架,...

    跟我学spring3 pdf+源码

    跟我学spring3(1-7).pdf 跟我学spring3(8-13).pdf 跟我学spring3-源码.rar 跟我学spring3-项目源码(pointShop)(基于注解).rar 跟我学spring3-项目源码(pointShop)(基于XML配置文件).rar

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    Spring6学习笔记

    Spring6学习笔记,师承老杜

    springcloud学习笔记.pdf

    Spring Cloud 学习笔记 本笔记主要介绍了从单体架构到微服务架构的演变过程,以及 Spring Cloud 中的微服务架构搭建。下面是本笔记的详细知识点总结: 一、单体架构 单体架构是指整个系统只有一个工程,打包往往...

    跟我学spring3 .pdf

    《跟我学Spring3》这本书是针对Spring框架进行深入解析的一本教程,涵盖了Spring的核心特性,包括IoC(Inversion of Control,控制反转)、DI(Dependency Injection,依赖注入)、AOP(Aspect-Oriented Programming...

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

Global site tag (gtag.js) - Google Analytics