`
什么向往
  • 浏览: 81128 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Spring IOC容器实现

 
阅读更多

   在Spring IOC 容器的代码是org.springframework.beans包中的BeanFactory接口,该接口提供了IOC容器的基本功能。

   而org.springframework.context包下的ApplicationContext接口扩展了BeanFactory,还提供了与Spring AOP集成、国际化处理、事件传播及提供不同层次的context实现 (如针对web应用的WebApplicationContext)。简单的说BeanFactory提供了IOC容器的最基本功能,而Application提供了更多的企业应用的支持。

 

      简单的对容器的实现做下总结。

 

 

import java.io.File;

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
/**
 * IOC容器的实现
 * */
public class ContainerTest {
	/**
	 * beanfactory实现,从文件系统中获取资源
	 */
	@Test
	public void beanFactoryBaseonFileSystem(){
		//从文件系统中获取配置文件,默认为相对路径,也可以取绝对路径
		File file=new File("bin/resource/chapter01.xml");
		Resource resource=new FileSystemResource(file);
		//初始化容器
		BeanFactory bean=new XmlBeanFactory(resource);
		//从容器中获取bean
		GreetServiceImp service=bean.getBean("greetservice", GreetServiceImp.class);
		//执行操作
		service.sayGreeting();
	}
	/**
	 * beanfactory实现,从classpath获取资源
	 */
	@Test
	public void beanFactoryBaseOnClassPath(){
		//准备配置文件,从当前类加载路径中获取配置文件
		Resource resource=new ClassPathResource("resource/chapter01.xml");
		//初始化容器
		BeanFactory bean=new XmlBeanFactory(resource);
		//从容器中获取bean
		GreetServiceImp service=bean.getBean("greetservice", GreetServiceImp.class);
		//执行操作
		service.sayGreeting();
	}
	/**
	 * ApplicationContext实现,从文件系统中获取资源
	 */
	@Test
	public void applicationContextBaseOnFileSystem(){
		//准备配置文件,从文件系统中获取配置文件,默认为相当路径,也可以写绝对路径
		BeanFactory bean=new FileSystemXmlApplicationContext("bin/resource/chapter01.xml");
		//从容器中获取bean
		GreetServiceImp service=bean.getBean("greetservice", GreetServiceImp.class);
		//执行操作
		service.sayGreeting();
	}
	
	/**
	 * ApplicationContext实现,从ClassPath中获取资源
	 */
	@Test
	public void applicationContextBaseOnClassPath(){
		//准备配置文件,从当前类加载路径中获取配置文件
		BeanFactory bean=new ClassPathXmlApplicationContext("resource/chapter01.xml");
		//从容器中获取bean
		GreetServiceImp service=bean.getBean("greetservice",GreetServiceImp.class);
		//执行操作
		service.sayGreeting();
	}
}
 

      上述代码是IOC实现的常用几种方法。

分享到:
评论

相关推荐

    Spring IOC容器实现分析.pdf 下载

    《Spring IOC容器实现分析》 在Java开发领域,Spring框架无疑是使用最为广泛的轻量级框架之一,其中的核心组件就是IOC(Inversion of Control)容器。本文将深入剖析Spring的IOC容器,理解其工作原理和重要功能,以...

    Spring IoC容器实现的结构分析

    本文将从实现的角度,通过对外部接口、内部实现、组成部分和执行过程四个角度深入剖析Spring IoC容器的结构。 首先,Spring IoC容器的外部接口主要包括`ApplicationContext`和`BeanFactory`。`BeanFactory`是IoC...

    Spring IOC容器实现分析

    ### Spring IOC容器实现分析 #### 一、Spring IOC容器概览 Spring框架作为一款轻量级的开源框架,其核心之一便是IOC(Inversion of Control)容器。该容器的主要功能在于管理和控制对象间的依赖关系,使得开发人员...

    spring Ioc容器配置

    spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> destroy-method="close"> <value>org.gjt.mm.mysql.Driver <value>jdbc:mysql://localhost:3306/demo <value>root ...

    springIoc实现原理

    Spring Ioc容器是整个Spring框架的基石,它负责创建、配置和管理对象。容器通过读取XML、Java注解或Java配置类等方式,获取对象的定义信息,然后根据这些信息实例化对象并进行依赖注入。 **三、依赖注入(DI,...

    spring ioc和aop原理流程图(详细)

    以下是Spring IOC容器的主要知识点: 1. **Bean的定义**:在Spring中,业务对象被称为Bean。Bean定义包含了创建和管理Bean的所有信息,如类名、属性值、依赖关系等,通常通过XML、注解或Java配置来定义。 2. **...

    手写一个SpringIoc容器

    本项目"手写一个SpringIoc容器"旨在模仿Spring的IOC(Inversion of Control,控制反转)功能,帮助开发者深入理解Spring的工作原理,提升对依赖注入(Dependency Injection)模式的认识。 在实现自定义的Spring IOC...

    spring ioc容器部署实现

    ### Spring IoC容器部署实现详解 #### 一、Spring IoC容器概述 Spring框架的核心特性之一就是Inversion of Control(IoC),也被称为Dependency Injection(DI)。IoC容器是Spring框架的重要组成部分,它负责管理...

    模拟Spring的IoC容器实现注解自动装配

    现在,我们将深入探讨如何模拟Spring的IoC容器实现注解自动装配。 首先,我们需要理解IoC容器的基本工作原理。IoC容器是通过扫描应用程序上下文来发现所有需要管理的bean,并根据bean定义来创建和初始化这些bean。...

    教你写Spring IOC容器.wps

    自己动手实现Spring IoC容器, 写Spring IOC容器.wps写Spring IOC容器.wps写Spring IOC容器.wps

    Spring的IoC容器初始化源码解析

    `BeanFactory`是最基本的IoC容器实现,它主要负责创建和管理bean的生命周期。BeanFactory提供了一系列基础方法,例如获取bean、判断bean的存在性、判断bean是否为单例等。它是所有Spring容器的基类,为其他容器提供...

    详解Spring IOC 容器启动流程分析

    Spring IOC 容器启动流程分析 Spring IOC 容器是 Java 企业级应用程序的核心组件之一,它提供了一个统一的依赖注入机制,使得应用程序的组件之间能够松耦合。Spring IOC 容器的启动流程是整个 Spring 框架的核心...

    Spring中IoC优点与缺点解析

    IoC(Inversion of Control)是 Spring 框架中的一种设计模式,它的主要思想是将对象的创建和管理交给容器,从而解耦合对象之间的依赖关系。今天,我们将详细解析 IoC 的优点和缺点。 优点 1. 简化对象的创建:IoC ...

    Java-Spring-SpringIoC容器-SpringIoC的学习

    Spring IoC容器通过XML配置或注解实现了对象的创建、管理和依赖注入,极大地简化了Java应用的复杂性。理解并熟练运用Spring IoC,能够帮助开发者构建更灵活、易于测试和维护的系统。在实际开发中,还可以结合@...

    Spring实现原理及IoC容器的优点

    总的来说,Spring框架通过其IoC容器实现了对象的管理和依赖注入,带来了诸多好处,同时Eclipse作为强大的开发工具,为创建和管理Spring Web应用提供了便利。了解和掌握这些知识,对于提升Java开发效率和代码质量具有...

    Spring IOC容器应用实例

    **Spring IOC 容器应用实例** Spring 框架的核心组件之一是 Inversion of Control (IoC) 容器,也常被称为依赖注入(Dependency Injection)容器。IoC 是一种设计模式,它将对象的创建和管理从应用程序的业务逻辑中...

    spring IOC容器依赖注入XML配置

    在本教程中,我们将深入探讨如何通过XML配置在Spring IOC容器中实现依赖注入。 首先,我们需要了解Spring的IOC容器。IOC容器是Spring的核心,它负责管理对象的生命周期和对象间的依赖关系。容器通过读取XML配置文件...

    Spring实现一个简单的SpringIOC容器

    本文将深入探讨如何实现一个简单的Spring IOC容器,以及涉及的主要知识点。 首先,控制反转是一种设计模式,它将对象的创建和管理从对象本身转移到一个外部容器,即IOC容器。Spring的IOC容器通过读取配置文件(如...

    简单模拟springIoc容器

    IoC容器是Spring实现这一理念的重要工具,它负责管理对象的生命周期和对象之间的依赖关系。本教程将通过一个简单的模拟来帮助你快速理解Spring的IoC容器。 首先,我们要了解IoC的基本概念。IoC是指应用程序的控制...

Global site tag (gtag.js) - Google Analytics