java-什么时候使用Spring容器的多个实例?

前端之家收集整理的这篇文章主要介绍了java-什么时候使用Spring容器的多个实例? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在将ApplicationContext用作Spring容器.

但是,由于我不想更改我的API,因此我觉得需要使用容器的多个实例,如下所示-

public static void main(String[] args)
 { 
    ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

    ...
    objA = context.getBean(...);
    objB = context.getBean(...);
 }

// code for Class A

 public void execute() // <-- cannot change this signature 
 {
     ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
     objC = context.getBean(...); // earlier,this was objC = new C();
     objC.method1("...");
 }

因此,我最终使用了两个不同的ApplicationContext实例.什么时候具有多个ApplicationContext实例合适,什么时候不合适?

最佳答案
如果您可以控制这些类,请尝试实现ApplicationContextAware:
 http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/ApplicationContextAware.html

这会将applicationContext注入到类中,从而使您可以自由获取所需的任何类.

只要A类是在春季之前初始化的,它将起作用.从给出的代码来看就是这种情况.

猜你在找的Spring相关文章