前言:
Spring通过IOC/DI来实现获取对象
准备:
1. 建Spring2工程。
2. 导入Spring包
具体实现:
1. Person.jav
package com.test;
public interface Person {
public void work();
}
2. Chinese.java
package com.test;
public class Chinese implements Person{
private Tool tool;
public void setTool(Tool tool) {
this.tool = tool;
}
@Override
public void work() {
tool.realwork();
}
}
3. Tool.java
package com.test;
public interface Tool {
public void realwork();
}
4. ConcreteToolA.java
package com.test;
public class ConcreteToolA implements Tool {
@Override
public void realwork() {
System.out.println("realwork from ConcreteToolA");
}
}
5. ConcreteToolB.java
package com.test;
public class ConcreteToolB implements Tool {
@Override
public void realwork() {
System.out.println("realwork from ConcreteToolB");
}
}
6. applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="toolA" class="com.test.ConcreteToolA"></bean>
<bean id="toolB" class="com.test.ConcreteToolB"></bean>
<bean id="chinese" class="com.test.Chinese">
<property name="tool" ref="toolB"></property>
</bean>
</beans>
7. Client.java
package com.test;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Client {
public static void main(String[] args) {
ClassPathResource cpr=new ClassPathResource("applicationContext.xml");
XmlBeanFactory factory=new XmlBeanFactory(cpr);
Person person=(Person)factory.getBean("chinese");
person.work();
}
}
分享到:
相关推荐
5. **Bean管理**:Spring容器负责Bean的生命周期管理,包括销毁等操作。 **六、应用场景** Spring Ioc广泛应用于各种项目中,如: - 数据访问层(DAO):通过Ioc管理数据库连接和事务。 - 业务逻辑层(Service)...
"Spring IOC基本操作" Spring IOC(Inversion of Control,控制反转)是一种软件设计模式,它将对象的创建和管理交给容器,实现了对象之间的解耦合。 SpringIOC是Spring Framework中的核心组件之一,负责管理应用...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它极大地简化了Java应用的开发。在传统的编程模式中,对象之间的依赖关系通常由对象自身来管理,而在Spring IOC中,这种依赖关系被反转,由...
Spring框架提供了多种IOC容器,其中最基础的是`BeanFactory`接口,它定义了Spring IOC容器的基本功能。`BeanFactory`主要关注于对象的创建和依赖关系的管理,但不提供诸如资源加载、国际化消息处理等高级功能。`...
除了基本的依赖注入,Spring 还支持其他高级功能,如构造器注入、属性注入、工厂方法注入、集合注入等。此外,通过 AOP(面向切面编程)和 Spring 的其他模块,如数据访问、事务管理、MVC 等,我们可以构建出完整的...
这个基础jar包集合包含了Spring框架实现IOC功能所需的基本组件。以下是对这些jar包及其包含的知识点的详细解释: 1. `org.springframework.context-3.0.6.RELEASE.jar`: 这个jar包提供了Spring应用上下文的支持,它...
本文将深入探讨Spring如何利用注解来实现控制反转(Inversion of Control,IOC)。 首先,理解IOC的概念至关重要。IOC意味着应用程序不再直接创建对象,而是由一个外部容器(如Spring框架)来负责对象的创建和管理...
在Spring的源码中,我们还可以看到如何通过`BeanPostProcessor`接口实现Bean的后处理器,用于在Bean初始化前后执行自定义操作,以及如何通过`InitializingBean`和`DisposableBean`接口实现Bean的初始化和销毁方法。...
首先,让我们了解一下Spring IOC的基本原理。Spring IOC容器通过XML配置文件或者基于注解的方式,定义了对象的生命周期和依赖关系。开发者不再需要手动创建对象,而是声明对象及其依赖,然后由Spring容器负责实例化...
总结来说,Spring IOC操作和设计模式是Spring框架最核心的部分之一,它们帮助开发者将对象之间的依赖关系交由Spring容器管理,实现了业务逻辑的松耦合,提高了代码的可维护性和可测试性。通过理解和运用Spring IoC...
1. `spring-beans.jar`: 这个包包含了Spring框架的基本组件,如Bean工厂,它是IoC容器的基础,负责读取配置元数据(XML或Java注解),并根据这些信息创建和管理Bean。 2. `spring-context.jar`: 这个包扩展了`...
### Spring - 2 IoC #### 一、Spring与IoC概念详解 ...通过以上内容的学习,我们可以了解到Spring框架中IoC容器的基本概念、设计模式、实现方式以及具体的使用案例。这有助于更好地理解和应用Spring框架中的IoC技术。
Java反射和Spring IOC是Java开发中的两个重要概念,它们在构建灵活、可扩展的应用程序时起着关键作用。本文将深入探讨这两个主题,并提供相关的学习资源。 首先,让我们了解一下Java反射。Java反射机制是Java语言的...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它负责管理对象的生命周期和依赖关系。本文将深入探讨Spring IOC的概念、工作原理以及如何通过反射来实现这一机制。 首先,理解控制反转...
在Java开发领域,Spring...通过这个模拟项目,开发者可以深入了解Spring IoC的基本原理,学习如何在没有Spring框架的情况下手动管理对象的生命周期和依赖关系,这对于理解Spring框架的工作机制和优化代码结构大有裨益。
1. **spring-core-3.2.8.RELEASE.jar**:这是Spring框架的基础模块,提供了基本的类加载、资源访问以及异常处理等核心功能。其中,`ClassPathResource`和`ApplicationContext`是实现IOC容器的重要类。 2. **spring-...
一个基本的Spring配置文件通常包含bean定义,它们描述了要创建的对象以及这些对象的属性。例如: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它负责管理对象的生命周期和依赖关系。在这个示例源代码中,我们可以看到多个Java类和一个bean.xml配置文件,这些都是实现Spring IOC的关键...
### Spring IoC与事务管理架构解析 #### 一、Spring IoC容器的构建与工作原理 **Spring**作为一款轻量级的Java开发框架,在Java企业级应用领域扮演着极其重要的角色。其中,**IoC(Inversion of Control,控制反转...