Spring依赖注入范围混淆

Spring依赖注入范围混淆,spring,dependency-injection,Spring,Dependency Injection,我是SpringDI的新手,我第一次在我的Web应用程序中实现DI。 似乎我做错了什么,这与我使用spring示波器的方式有关 我有一个serive类,我在其中注入各种其他对象,以实现所需的功能 这是我的spring文件条目 <bean id="ImportServiceImpl" class="ImportServiceImpl" factory-method="getInstance"> <property name="browseDirectory" re

我是SpringDI的新手,我第一次在我的Web应用程序中实现DI。 似乎我做错了什么,这与我使用spring示波器的方式有关 我有一个serive类,我在其中注入各种其他对象,以实现所需的功能 这是我的spring文件条目

<bean id="ImportServiceImpl" class="ImportServiceImpl" factory-method="getInstance">
        <property name="browseDirectory" ref="browseDirectoryImpl"/>
        <property name="xmlUnmarshaller" ref="xmlUnmarshallerImpl"/>
        <property name="Adaptar" ref="AdaptarImpl"/>
        <property name="DAOService" ref="DAO"/>
     </bean>

     <bean id="browseDirectoryImpl" class="BrowseDirectoryImpl" factory-method="getInstance" />
     <bean id="xmlUnmarshallerImpl" class="XMLUnmarshallerImpl"/>
     <bean id="AdaptarImpl" class="AdaptarImpl" factory-method="getInstance"/>
现在,当服务器第一次启动并且这个服务第一次运行时,一切都很好,foo被初始化为其正确的初始化值,但是对于所有其他后续调用,Spring将引用先前初始化的foo对象,我希望为每个新请求创建一个新的foo实例。 在我看来,上述代码中使用的工厂方法
factory method=“getInstance”
仅在服务器调用时调用一次,所有其他后续调用方返回相同的引用,其中我希望每个请求都有一个新实例。 这是我的实验方法

public static ImportServiceImpl getInstance(){
    return new ImportServiceImpl();
}
我知道我在DI中犯了一些基本错误,但我不确定它在哪里。我使用Struts2实现MVC,并使用SpringDI实现服务层 这方面的任何帮助都是有益的

谢谢
乌梅什

我想你需要看看


请看表3.3。

我想您需要看


请看表3.3。

我不确定我是否理解您的问题,但听起来您应该要求Spring将对Foo的引用注入AdapterImpl,并将其范围设置为“请求”。如果您需要Spring来控制对象创建,不要调用“new”。

我不确定是否理解您的问题,但听起来您应该让Spring将对Foo的引用注入AdapterImpl,并将其范围设置为“request”。如果您需要Spring来控制对象创建,不要称之为“new”。

我也在考虑提出请求,但不确定,因为我只是Spring的初学者,所以对scope和siglton了解很多:)我给您+1--我倾向于指向文档,告诉您确切的答案在哪里,您刚刚说到点子上;)hvgotcodes:因为我使用ImportServiceImpl作为入口点,所以我想我还需要将其范围作为请求,因为它与Adapter类一起使用,如果我错了,请纠正我谢谢Duffymo和hvgotcodes它现在按照预期的流程工作我也在考虑提出请求,但不确定,因为我只是春季的初学者,所以只知道scope和siglton:)我会给你+1--我倾向于指向文档,告诉你答案的确切位置,你刚刚说到点子上;)hvgotcodes:因为我使用ImportServiceImpl作为入口点,所以我想我还需要按照要求制作它的范围,因为还有Adapter类,如果我错了,请纠正我谢谢Duffymo和hvgotcodes它现在按照预期的流程工作为什么是古代版本?Spring2.0已经有5年多的历史了!!!这是最新版本的《为什么是古代版本》?Spring2.0已经有5年多的历史了!!!以下是当前版本的
public static ImportServiceImpl getInstance(){
    return new ImportServiceImpl();
}