Spring bean-scopes

时间:2011-05-05 07:30:43

标签: java web-services spring spring-mvc spring-ws

您好我有肥皂网服务(java,spring,tomcat)

在我的web.xml文件中,我引用了MessageDispatcherServlet,这就是我的servlet.xml文件的样子:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
xmlns:sws="http://www.springframework.org/schema/web-services"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans       
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/web-services 
http://www.springframework.org/schema/web-services/web-services-2.0.xsd
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

<description></description>

<bean id="payloadMapping"

class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
    <property name="defaultEndpoint" ref="inferenceEndPoint" />
    <property name="interceptors">
        <list>
            <ref local="validatingInterceptor" />
            <ref local="payLoadInterceptor" />
        </list>
    </property>
</bean>
.
.
.

现在我想使用spring的请求范围 bean,创建这个bean的步骤是什么?我必须创建多少个不同的类,以及如何修改我的xml文件。对于使用会话范围,我在某处阅读:

“为了使用会话范围,您必须使用Web感知的Spring应用程序上下文,例如XmlWebApplicationContext。否则,作用域代理无法引用当前会话” < / p>

对于使用请求范围,我是否还需要这样的东西?

由于

1 个答案:

答案 0 :(得分:1)

您已经拥有dispatcher-servlet.xml(这是默认名称),因此您拥有WebApplicationContext。现在,您只需要定义<bean scope="request"scope="session"

如果使用注释,您可以使用@Scope("request")。另请注意,请求和会话范围的bean比单例范围的bean更少使用。