Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring中访问缓存的ApplicationContext_Java_Spring - Fatal编程技术网

Java 在spring中访问缓存的ApplicationContext

Java 在spring中访问缓存的ApplicationContext,java,spring,Java,Spring,我需要在两个不同的类中两次从同一ApplicationContext获取单例bean 示例代码段: CLass A { public void foo(){ ApplicationContext context = new ClassPathXmlApplicationContext("common.spring.xml"); MyParametrizedSingletonClass myParametrizedSingletonClass = (MyParametrized

我需要在两个不同的类中两次从同一ApplicationContext获取单例bean

示例代码段:

CLass A {
  public void foo(){
    ApplicationContext context = new ClassPathXmlApplicationContext("common.spring.xml");
    MyParametrizedSingletonClass myParametrizedSingletonClass = (MyParametrizedSingletonClass) context.getBean("myParametrizedSingletonClass");
    // do more stuff..
  }
CLass B {
  public void bar(){
    ApplicationContext context = new ClassPathXmlApplicationContext("common.spring.xml");
    MyParametrizedSingletonClass myParametrizedSingletonClass = (MyParametrizedSingletonClass) context.getBean("myParametrizedSingletonClass");
    // do more stuff..
  }
由于MyParameterizedSingleToClass是一个singletom类,如果为同一个构造函数参数多次调用其构造函数,则会抛出错误


如何使用spring缓存和重用ApplicationContext?

Autowire
bean


默认情况下,spring会将自动连接的bean注入到所需的类中,并且不会每次都创建新的bean。默认情况下,它们是单例的。

您正在创建两个不同的上下文,所以即使bean是单例的,它也会为每个上下文创建一个实例


如果要在common.spring.xml文件中为bean名称MyParameterizedSingleToClass缓存应用程序上下文,请在xml文件中定义bean时将作用域单例作为参数添加到其中,为什么不将依赖项注入类
A
B
?我想这些应该怎么办。