Spring “春天能来吗?”;“生活”;与同一webapp中的其他servlet一起使用?

Spring “春天能来吗?”;“生活”;与同一webapp中的其他servlet一起使用?,spring,retrofit,Spring,Retrofit,我有一个WEB-INF/WEB.xml文件,其中有几个servlet,还有一个上下文 我用来引导应用程序的侦听器。我想在这里用弹簧 web应用程序。使用Spring的最佳方法是什么 整个应用程序中的注入机制—甚至在servlet中 今天存在吗 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http

我有一个WEB-INF/WEB.xml文件,其中有几个servlet,还有一个上下文 我用来引导应用程序的侦听器。我想在这里用弹簧 web应用程序。使用Spring的最佳方法是什么 整个应用程序中的注入机制—甚至在servlet中 今天存在吗

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>Company's XMLRPC service</display-name>
    <!-- Servlet Listeners -->
    <listener>
        <listener-class>com.company.download.context.DefaultServletContextListener</listener-class>
    </listener>

    <!-- Servlet Declarations -->
    <servlet>
        <servlet-name>DefaultTrackDownloadServlet</servlet-name>
        <servlet-class>com.company.download.web.impl.DefaultTrackDownloadServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>DefaultXmlRpcServlet</servlet-name>
        <servlet-class>com.company.download.web.impl.DefaultXmlRpcServlet</servlet-class>
    </servlet>

    <!-- Servlet Configurations -->
    <servlet-mapping>
        <servlet-name>DefaultTrackDownloadServlet</servlet-name>
        <url-pattern>/track</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>DefaultXmlRpcServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

公司的XMLRPC服务
com.company.download.context.DefaultServletContextListener
DefaultTrackDownloadServlet
com.company.download.web.impl.DefaultTrackDownloadServlet
DefaultXmlRpcServlet
com.company.download.web.impl.DefaultXmlRpcServlet
DefaultTrackDownloadServlet
/跟踪
DefaultXmlRpcServlet
/*
30
Spring能否与同一webapp中的其他servlet一起“生存”

是的,SpringMVC基本上只是一个
DispatcherServlet
,它可以利用
ContextLoaderListener

这两个类已经设置为与一个或多个
ApplicationContext
实例交互,并让Spring管理声明的bean

您的自定义
Servlet
类不可用。如果需要将bean注入自己的
Servlet
实例,则需要从
ContextLoaderListener
获取对
ApplicationContext
的引用,并获取所需的bean。有几个选项,无论您是自己做还是使用内置功能

ContextLoaderListener
将加载的
ApplicationContext
存储到名为

org.springframework.web.context.WebApplicationContext.ROOT
因此,您可以用它检索它(有一个常量,便于使用)

存在其他选项,请参见此处的部分选项:

ApplicationContext ac = (ApplicationContext) config.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);