`
yjshengshe
  • 浏览: 203882 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

spring2.5.6依赖注入

 
阅读更多

 

spring三种注入:

1 构造器注入

2 setter注入

3 使用注解方式注入

 

////构造器注入

 

0 需要准备的包

asm.jar

cglib.jar

 

1 类构造器中配置要注入的对象

//基本参数
	private A a;	
	private List<Integer> list;
	
	//构造器注入
	public TestA(A a,List<Integer> list)
	{
		this.a = a;
		this.list = list;
	}
 

2 配置文件中配置

<bean id="a" class="com.spring.domain.A"></bean>
		<bean id="testA" class="com.spring.test.TestA">
			<constructor-arg index="0" type="com.spring.domain.A" ref="a" />
			<constructor-arg index="1">
				<list>
					<value>1</value>
					<value>2</value>
				</list>
		</constructor-arg>	
	</bean>
 

////setter注入

 

1 类中配置要注入的对象

//基本参数
	private A a;	
	private List<Integer> list;
	private String str;
	
	//set/get方法
	public A getA() {
		return a;
	}

	public void setA(A a) {
		this.a = a;
	}

	public List<Integer> getList() {
		return list;
	}

	public void setList(List<Integer> list) {
		this.list = list;
	}

	public String getStr() {
		return str;
	}

	public void setStr(String str) {
		this.str = str;
	}
 

2 配置文件中配置

<bean id="testB" class="com.spring.test.TestB">
		<property name="a" ref="a"></property>
		<property name="list">
			<list>
				<value>1</value>
				<value>2</value>
			</list>
		</property>
		<property name="str" value="str"></property>
	</bean>
 

////使用注解方式注入

 

a 注解配置

<!-- 开启注解功能 -->

	<context:annotation-config></context:annotation-config>
	
	<!-- 设置注解扫描包,该设置自动开启注解功能 -->
	<context:component-scan base-package="com.spring.*"></context:component-scan>
 

b 注册类B

package com.spring.domain;

	import org.springframework.stereotype.Component;
	
	@Component
	public class B {
		public String toString()
		{
			return "com.spring.domain.B";
		}
		/**
		 * @param args
		 */
		public static void main(String[] args) {
			// TODO Auto-generated method stub
	
		}
	}
 

 

c 注解注入bean B

@Autowird:默认按类型装配

@Autowired
private B b;
   

@Resource:默认按名称装配,当找不到与名称相匹配的bean时,才会按类型装配

如果@Resource的name属性没有指定,即默认以属性名称作为bean名称寻找依赖的对象

@Resource
private B b;
 

d 注册测试类TestC

<bean id="testC" class="com.spring.test.TestC"></bean>
 

  e 获取测试类,测试类B是否注入成功

 AbstractApplicationContext  ctx = new ClassPathXmlApplicationContext("bean.xml");
	TestC test = (TestC)ctx.getBean("testC");
	System.out.println(test.b.toString());
 

总结:

1 类的注册

//可以在spring的配置文件中配置如下:

<bean id="testC" class="com.spring.test.TestC"></bean>
 

//也可以通过注解的方式注册,如下:

@Component
public class B 
 

2 类的注入可以在spring的配置文件中配置如下:

//构造器注入
	<bean id="testA" class="com.spring.test.TestA">
		<constructor-arg index="0" type="com.spring.domain.A" ref="a" />
	</bean>
	
//属性注入
<bean id="testB" class="com.spring.test.TestB">
		<property name="a" ref="a"></property>
  </bean>
  
  //注解注入
  @Resource
	private B b;
 

分享到:
评论

相关推荐

    Spring2.5.6开发依赖包最全最好完整版

    1. **依赖注入**:Spring框架中最基础且核心的功能之一,用于管理对象之间的依赖关系。 2. **面向切面编程(AOP)**:通过代理机制实现对特定行为(如日志记录、权限控制等)的封装,使得这些行为可以独立于业务逻辑...

    spring2.5.6.zip

    例如,项目中包含的"spring2.5.6"目录下的jar包,如context、beans、aop等,都是Spring框架的核心组成部分,它们共同构成了一个完整的Spring运行环境。 总结来说,Spring 2.5.6是Spring框架发展史上的一个重要版本...

    spring2.5.6相关依赖jar包

    通过依赖注入,Spring可以自动为对象提供所需的依赖,无需手动创建和装配对象。这个版本的Spring还支持AOP(Aspect Oriented Programming,面向切面编程),允许开发者定义横切关注点,如日志、事务管理等,以提高...

    spring2.5.6开发必备jar包(全)

    Spring 2.5.6是该框架的一个稳定版本,发布于2009年,它提供了许多功能,包括依赖注入、面向切面编程、事务管理以及与各种数据库、Web服务器和Java EE服务的集成。这个压缩包包含了开发Spring 2.5.6应用所必需的全部...

    spring2.5.6jar包

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和强大的依赖注入特性而闻名。Spring 2.5.6是该框架的一个较早版本,发布于2009年,虽然现在已有更新的版本,但在许多遗留系统或对兼容性有特定需求的...

    spring2.5.6注解以及xml简单ioc入门示例

    通过分析这些文件,你可以进一步学习如何在Spring 2.5.6中设置bean,以及如何利用IoC进行依赖注入。 总之,这个入门示例是学习Spring框架的很好起点,尤其是对于那些想了解Spring 2.5.6版本中注解和XML配置的初学者...

    spring2.5.6源代码及api

    1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一就是依赖注入,它允许开发者通过配置文件或注解来管理对象之间的依赖关系,而不是硬编码在类内部。在源代码中,我们可以看到`ApplicationContext...

    spring 2.5.6源码

    在这个版本中,Spring 提供了包括依赖注入、AOP(面向切面编程)、数据访问、Web 应用支持等多种功能。下面将详细探讨 Spring 2.5.6 的关键知识点。 1. **依赖注入(Dependency Injection, DI)**:这是 Spring ...

    spring2.5.6 jar包+源码

    Spring框架是Java开发中不可或缺的一部分,它以...通过深入研究Spring 2.5.6的jar包和源码,开发者不仅可以了解Spring的基本工作原理,还能学习到面向切面编程、依赖注入等核心概念,进一步提升自己的Java开发技能。

    Spring2.5.6源代码和JAR文件

    Spring的核心设计理念是依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。这两个特性使得Spring框架在设计上具有高度的灵活性和可测试性。 **Spring 2.5.6 版本** ...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6+iBatis2.3.4

    本讲主要讲解如何将Flex3前端、BlazeDS3.2后端数据传输服务、Spring2.5.6依赖注入框架以及iBatis2.3.4持久层框架集成到一个项目中,以实现更高效的业务逻辑处理。 1. **Flex3** 是Adobe推出的一种富互联网应用程序...

    spring2.5.6

    例如,`@Autowired`注解可以自动将依赖注入到bean中,减少了显式的setter方法或构造函数注入。 其次,`spring-context-2.5.6.jar`扩展了bean容器,提供了上下文概念,使应用程序能够访问环境和国际化信息。在这个...

    spring 2.5.6 必须jar包

    7. **spring-core.jar**:核心工具库提供了Spring框架的基础组件,包括IoC(依赖注入)和基本的类型转换服务。它是其他所有模块的基础,包含了Spring的核心API和实现。 8. **spring-tx.jar**:事务管理模块提供了...

    Spring2.5.6完整包

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、易扩展和依赖注入等特性深受开发者喜爱。Spring 2.5.6是该框架的一个稳定版本,发布于2009年,虽然现在已经有了更先进的版本,但这个版本仍然在一些项目中被...

    Struts2.1.8 spring2.5.6 ibatis2.3 集成

    其次,Spring2.5.6 是一个全面的轻量级应用框架,核心特性包括依赖注入和面向切面编程(AOP)。依赖注入使得对象间的依赖关系可以在运行时被管理,而不是硬编码在类内部,这有助于提高代码的可测试性和可维护性。...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.2整合包

    Spring框架是企业级Java应用的核心组件,其2.5.6版本加强了依赖注入(DI)和面向切面编程(AOP)的支持。DI允许对象之间的依赖关系被外部容器管理,降低了代码间的耦合度。AOP则提供了一种模块化的方式,可以将关注...

    Spring2.5.6源代码分析(一):IOC容器

    总的来说,Spring 2.5.6的IoC容器通过控制反转和依赖注入,实现了对象的灵活管理和松耦合。无论是在XML配置还是注解配置下,开发者都能够轻松地管理应用程序的组件,并且得益于IoC容器的生命周期管理,可以更加专注...

    Spring 2.5.6和3.0 所有的jar包

    Spring框架是Java开发中不可或缺的一部分,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问以及Web应用支持等。这里提到的是Spring 2.5.6和3.0两个版本的jar包集合,这两个版本分别...

    struts2.1.8+spring2.5.6

    开发者可以通过解压这个文件,然后在自己的项目中引用这些类库,结合Spring2.5.6来搭建一个基于Struts2的MVC架构,并利用Spring进行服务层管理和依赖注入。 总之,Struts2.1.8和Spring2.5.6是J2EE开发的重要组成...

Global site tag (gtag.js) - Google Analytics