Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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应用程序上下文实例_Java_Spring_Spring Mvc - Fatal编程技术网

Java 避免Spring应用程序上下文实例

Java 避免Spring应用程序上下文实例,java,spring,spring-mvc,Java,Spring,Spring Mvc,我使用Spring3进行简单的配置 我有一个名为PropertyBeans.XML的XML文件,如下所示: <bean id="propertyBean" class="com.myapp.PropertyBean"> <property name="rootDirLogPath" value="C:\Users\dede" /> </bean> 这非常有效,但我想知道是否有办法避免每次使用bean时都实例化ApplicationContext。我听

我使用Spring3进行简单的配置

我有一个名为PropertyBeans.XML的XML文件,如下所示:

<bean id="propertyBean" class="com.myapp.PropertyBean">
    <property name="rootDirLogPath" value="C:\Users\dede" />
</bean>
这非常有效,但我想知道是否有办法避免每次使用bean时都实例化ApplicationContext。我听说过豆工厂,这是个好主意吗?其他的解决方案是什么


换句话说:我应该在spring MVC中的每个控制器中调用这个应用程序上下文实例吗?

应用程序上下文的整个思想是有一个(因此,应用程序的名称,上下文)

所以,如果你每次都在创建一个新的,那么你就做错了


如果正确使用依赖项注入,包含该代码的对象将已经被注入容器(Spring)实例化,propertyBean也将被注入。

ApplicationContext的整体思想是存在一个(因此应用程序的名称、上下文)

所以,如果你每次都在创建一个新的,那么你就做错了


如果正确使用依赖项注入,包含该代码的对象将已经被注入容器(Spring)实例化,propertyBean将被注入。

您只需将上下文作为成员添加到类中,如:

private ApplicationContext context;

并在构造函数或init()方法中实例化它。

您只需将上下文作为成员添加到类中,如下所示:

private ApplicationContext context;

并在构造函数或init()方法中实例化它。

使用
自动连线
或实现
初始化bean
接口。

使用
自动连线
或实现
初始化bean
接口。

如果要在控制器中使用SpringBean,请将行添加到applicationContext.xml:

<context:spring-configured/>
<task:annotation-driven/>
<context:component-scan base-package="by" />

这是一件小事,所以如果您有疑问,强烈建议您阅读“Spring in action book”,第7章:构建web应用程序

如果您想在控制器中使用Spring Bean,请在applicationContext.xml中添加行:

<context:spring-configured/>
<task:annotation-driven/>
<context:component-scan base-package="by" />

这是一件小事,所以如果您有疑问,强烈建议您阅读“Spring in action book”,第7章:构建web应用程序

好的,这就是为什么我在这里问这个问题,我知道,每次实例化一个应用程序都不是一个好的解决方案,但如何使用Spring避免它?举个例子,关于
@autowired
的事情?好吧,这就是为什么我在这里问这个问题,我知道,每次实例化一个应用程序都不是一个好的解决方案,但是如何用spring避免它呢?有没有关于
@autowired
的例子?好吧,但应用程序上下文将与使用它的类的每个新实例进行实例关联。正如Joeri Hendrickx allready指出的,DI的主要内涵是所有内容都在一个地方。就像指挥官的模式。如果你想在任何地方都使用它,你可能有机会在main类中作为静态最终成员实现它,并在需要它的地方用getter调用它。这不太好,但可能对您有用。好吧,但应用程序上下文将与使用它的类的每个新实例进行实例关联。正如Joeri Hendrickx allready指出的,DI的主要内涵是所有内容都在一个地方。就像指挥官的模式。如果你想在任何地方都使用它,你可能有机会在main类中作为静态最终成员实现它,并在需要它的地方用getter调用它。这并不漂亮,但可能对您有用。我认为,您应该首先彻底阅读
Spring
。我认为,您应该首先彻底阅读
Spring
。即使有了自动连接,main方法中完成的第一件事就是应用程序上下文实例。换句话说,我的问题是如何在MVC控制器中做到这一点,即使使用自动连接,main方法中首先要做的是应用程序上下文实例化。换句话说,我的问题是如何在MVC控制器中做到这一点