当为遗留系统加入spring时,经典问题就是遗留系统需要引用spring管理的bean。幸好spring有机制可以处理这些。
建一个类实现ApplicationContextAware接口,有一个引用ApplicationContext的静态成员,然后,遗留系统需要引用spring管理的bean的地方,使用这个类。
1.比如:我这里建一个SpringContext类
package net.blogjava.chenlb;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* 此类可以取得Spring的上下文.
* Spring 使new方法创建的对象可以引用spring管理的bean.
* 2007-10-18 上午11:12:33
* @author chenlb
*/
public class SpringContext implements ApplicationContextAware {
protected static ApplicationContext context;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
public static ApplicationContext getContext() {
return context;
}
}
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* 此类可以取得Spring的上下文.
* Spring 使new方法创建的对象可以引用spring管理的bean.
* 2007-10-18 上午11:12:33
* @author chenlb
*/
public class SpringContext implements ApplicationContextAware {
protected static ApplicationContext context;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
public static ApplicationContext getContext() {
return context;
}
}
2.然后在spring配置文件里加
<bean id="springContext" class="net.blogjava.chenlb.SpringContext"></bean>
3.其它类中引用
MyBean myBean = (MyBean) SpringContext.getContext().getBean("myBean");
4.如果老是写SpringContext.getContext().getBean("...");麻烦,可以建一个工厂类来返回你要的bean
package net.blogjava.chenlb;
public class MyServerFactory {
public static MyBean1 getMyBean1() {
return (MyBean1) SpringContext.getContext().getBean("myBean1");
}
}
public class MyServerFactory {
public static MyBean1 getMyBean1() {
return (MyBean1) SpringContext.getContext().getBean("myBean1");
}
}
相关推荐
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入方式,包括构造器注入、设值注入...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...
Spring 框架的核心特性之一就是依赖注入(Dependency Injection,简称 DI),这是一种设计模式,它允许我们控制组件之间的耦合,而不是让组件自行创建它们所依赖的对象。这有助于提高代码的可测试性、可维护性和灵活...
这个简单的例子展示了Spring依赖注入的核心概念,即通过setter方法将依赖注入到目标对象中。在实际开发中,开发者可以根据需求选择使用setter注入、构造函数注入或者字段注入。setter注入的灵活性在于可以在不改变...
本篇将详细讲解如何使用构造器注入作为Spring依赖注入的一种方式,并通过一个完整的可运行示例——"SpringIOCTest2"来加深理解。 首先,理解依赖注入的概念。依赖注入允许我们不在类内部创建对象,而是通过外部源...
依赖注入则是将这种耦合关系反转,由外部容器(如Spring IoC容器)负责创建对象并管理它们的依赖关系,使得对象可以在不知道依赖的具体实现的情况下工作,降低了代码的复杂性。 Spring框架的IoC(Inversion of ...
在模拟Spring的依赖注入时,我们可以创建一个类似于Spring容器的类,负责创建和管理对象以及它们的依赖关系。这个类可以包含一个注册方法,用于接收需要注入的对象及其依赖,然后在创建对象时进行注入。 **创建模拟...
依赖注入允许我们把一个对象(依赖)传递到另一个对象(客户端)中,而不是让客户端自行创建依赖。这有助于解耦组件,使得系统更加灵活,更容易进行单元测试。 接下来,我们讨论实例工厂方法。在Spring中,除了通过...
在Spring框架中,依赖注入(Dependency Injection,DI)是一种核心设计模式,它使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本篇将详细讲解如何使用静态工厂方法进行依赖注入,结合提供的...
下面我们将深入探讨Spring依赖注入的概念、工作原理以及如何在实践中应用。 1. **依赖注入概念**: - 依赖:一个类对另一个类的使用称为依赖。 - 注入:将依赖的对象传递给需要它的类,而不是由类自己去创建或...
在Spring框架中,依赖注入就是利用反射来找到并实例化所需的对象,然后将它们注入到其他对象中。 接下来,我们谈谈注解。注解是元数据的一种形式,可以向编译器或运行时环境提供有关代码的信息。Java中的注解是以`@...
依赖注入意味着组件不直接创建其依赖的对象,而是由外部实体(如Spring IoC容器)提供。这样做的好处是,我们可以轻松地替换或更改依赖,而无需修改组件的源代码,符合开闭原则。 要模拟Spring的IoC,我们需要以下...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本示例将介绍如何使用Spring框架通过反射机制实现简单的依赖注入。...
**Spring.NET 框架详解:依赖注入与应用实践** Spring.NET 是一个开源的企业级应用程序框架,它在.NET平台上实现了类似Java Spring的核心功能,其中包括了依赖注入(Dependency Injection,DI)这一重要设计模式。...
依赖注入的概念则是将对象的创建和管理交由一个外部容器,即Spring容器来处理。在`Person`类中,我们不再直接创建`Car`对象,而是通过构造函数或setter方法接收`Car`的实例。这样,`Person`类不再负责`Car`的实例化...
### Spring依赖注入详解 #### 一、什么是IoC与DI? 在探讨Spring框架中的依赖注入之前,我们首先需要了解两个核心概念:IoC(Inversion of Control)与DI(Dependency Injection)。这两个概念是理解Spring框架...
首先,理解依赖注入的基本思想:对象的依赖关系不再由对象自身管理,而是由外部容器(如Spring应用上下文)负责注入。这样做的好处是降低了对象间的耦合度,使得各个组件可以独立地被测试和复用。 依赖注入在Spring...
总之,Spring的依赖注入是一种强大的设计模式,它简化了对象之间的依赖关系管理,提高了代码的可读性和可测试性。通过理解其工作原理,开发者可以更有效地利用Spring框架,提升软件开发的质量和效率。
首先,依赖注入的基本思想是,对象不应该自行创建或查找其依赖的对象,而是应该由外部容器(如Spring.NET的ApplicationContext)在运行时提供这些依赖。这样,对象只需要关注自身的核心业务逻辑,而无需关心依赖对象...
Spring依赖注入是Java开发中的核心概念,特别是在使用Spring框架时,它是实现松耦合和可测试性的重要机制。依赖注入(Dependency Injection,简称DI)允许我们解耦组件之间的关系,使得代码更易于维护和扩展。它通过...