微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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类是在春季之前初始化的,它将起作用.从给出的代码来看就是这种情况.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐