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;
分享到:
相关推荐
1. **依赖注入**:Spring框架中最基础且核心的功能之一,用于管理对象之间的依赖关系。 2. **面向切面编程(AOP)**:通过代理机制实现对特定行为(如日志记录、权限控制等)的封装,使得这些行为可以独立于业务逻辑...
例如,项目中包含的"spring2.5.6"目录下的jar包,如context、beans、aop等,都是Spring框架的核心组成部分,它们共同构成了一个完整的Spring运行环境。 总结来说,Spring 2.5.6是Spring框架发展史上的一个重要版本...
通过依赖注入,Spring可以自动为对象提供所需的依赖,无需手动创建和装配对象。这个版本的Spring还支持AOP(Aspect Oriented Programming,面向切面编程),允许开发者定义横切关注点,如日志、事务管理等,以提高...
Spring 2.5.6是该框架的一个稳定版本,发布于2009年,它提供了许多功能,包括依赖注入、面向切面编程、事务管理以及与各种数据库、Web服务器和Java EE服务的集成。这个压缩包包含了开发Spring 2.5.6应用所必需的全部...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和强大的依赖注入特性而闻名。Spring 2.5.6是该框架的一个较早版本,发布于2009年,虽然现在已有更新的版本,但在许多遗留系统或对兼容性有特定需求的...
通过分析这些文件,你可以进一步学习如何在Spring 2.5.6中设置bean,以及如何利用IoC进行依赖注入。 总之,这个入门示例是学习Spring框架的很好起点,尤其是对于那些想了解Spring 2.5.6版本中注解和XML配置的初学者...
1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一就是依赖注入,它允许开发者通过配置文件或注解来管理对象之间的依赖关系,而不是硬编码在类内部。在源代码中,我们可以看到`ApplicationContext...
在这个版本中,Spring 提供了包括依赖注入、AOP(面向切面编程)、数据访问、Web 应用支持等多种功能。下面将详细探讨 Spring 2.5.6 的关键知识点。 1. **依赖注入(Dependency Injection, DI)**:这是 Spring ...
Spring框架是Java开发中不可或缺的一部分,它以...通过深入研究Spring 2.5.6的jar包和源码,开发者不仅可以了解Spring的基本工作原理,还能学习到面向切面编程、依赖注入等核心概念,进一步提升自己的Java开发技能。
Spring的核心设计理念是依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。这两个特性使得Spring框架在设计上具有高度的灵活性和可测试性。 **Spring 2.5.6 版本** ...
本讲主要讲解如何将Flex3前端、BlazeDS3.2后端数据传输服务、Spring2.5.6依赖注入框架以及iBatis2.3.4持久层框架集成到一个项目中,以实现更高效的业务逻辑处理。 1. **Flex3** 是Adobe推出的一种富互联网应用程序...
例如,`@Autowired`注解可以自动将依赖注入到bean中,减少了显式的setter方法或构造函数注入。 其次,`spring-context-2.5.6.jar`扩展了bean容器,提供了上下文概念,使应用程序能够访问环境和国际化信息。在这个...
7. **spring-core.jar**:核心工具库提供了Spring框架的基础组件,包括IoC(依赖注入)和基本的类型转换服务。它是其他所有模块的基础,包含了Spring的核心API和实现。 8. **spring-tx.jar**:事务管理模块提供了...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、易扩展和依赖注入等特性深受开发者喜爱。Spring 2.5.6是该框架的一个稳定版本,发布于2009年,虽然现在已经有了更先进的版本,但这个版本仍然在一些项目中被...
其次,Spring2.5.6 是一个全面的轻量级应用框架,核心特性包括依赖注入和面向切面编程(AOP)。依赖注入使得对象间的依赖关系可以在运行时被管理,而不是硬编码在类内部,这有助于提高代码的可测试性和可维护性。...
Spring框架是企业级Java应用的核心组件,其2.5.6版本加强了依赖注入(DI)和面向切面编程(AOP)的支持。DI允许对象之间的依赖关系被外部容器管理,降低了代码间的耦合度。AOP则提供了一种模块化的方式,可以将关注...
总的来说,Spring 2.5.6的IoC容器通过控制反转和依赖注入,实现了对象的灵活管理和松耦合。无论是在XML配置还是注解配置下,开发者都能够轻松地管理应用程序的组件,并且得益于IoC容器的生命周期管理,可以更加专注...
Spring框架是Java开发中不可或缺的一部分,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问以及Web应用支持等。这里提到的是Spring 2.5.6和3.0两个版本的jar包集合,这两个版本分别...
开发者可以通过解压这个文件,然后在自己的项目中引用这些类库,结合Spring2.5.6来搭建一个基于Struts2的MVC架构,并利用Spring进行服务层管理和依赖注入。 总之,Struts2.1.8和Spring2.5.6是J2EE开发的重要组成...