2016-04-12 24 views
1

私は、Springのコンテキスト(e.i.)からWebアプリケーションを起動するようにJettyを設定しました。 2つのコンテキストがあります。ここでは春のDispatcherServletによって Jettyサーバーの埋め込みWebアプリケーションのスプリングスコープ

を実行している内部

  • 桟橋を実行します

    • 外部コンテキストは、外部コンテキストの定義です:

      <?xml version="1.0" encoding="UTF-8"?> 
      <beans xmlns="http://www.springframework.org/schema/beans" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 
      
      <bean id="servletHolder" class="org.eclipse.jetty.servlet.ServletHolder"> 
          <constructor-arg name="name" value="dispatcher"/> 
          <constructor-arg name="servlet" value="org.springframework.web.servlet.DispatcherServlet"/> 
          <property name="initParameters"> 
           <map> 
            <entry key="contextConfigLocation" value="classpath:dispatcher-context.xml"/> 
           </map> 
          </property> 
          <property name="initOrder" value="0"/> 
      </bean> 
      
      <bean id="servletHandler" class="org.eclipse.jetty.servlet.ServletHandler"> 
          <property name="servlets"> 
           <array> 
            <ref bean="servletHolder"/> 
           </array> 
          </property> 
          <property name="servletMappings"> 
           <list> 
            <bean class="org.eclipse.jetty.servlet.ServletMapping"> 
             <property name="servletName" value="dispatcher"/> 
             <property name="pathSpec" value="/*"/> 
            </bean> 
           </list> 
          </property> 
      </bean> 
      
      <bean id="contextHandler" class="org.eclipse.jetty.servlet.ServletContextHandler"> 
          <property name="contextPath" value="/spring"/> 
          <property name="servletHandler" ref="servletHandler"/> 
      </bean> 
      
      
      <bean class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop"> 
          <constructor-arg name="port" value="9999"/> 
          <property name="handler" ref="contextHandler"/> 
      </bean> 
      
      </beans> 
      

      それが参照しますdispatcher-context.xmlは「内部」です。 これまでのところ、外部コンテキストからBeanを内部コンテキストからコントローラのBeanに注入する必要がない限り、正常に動作します。

      外部スコープにBeanを定義し、コントローラに注入する方法はありますか? 単体テストや既存の大きなアプリケーションの一部としてこのサーバーを使用すると便利です。

      完全なコードはここにあります:

  • 答えて

    関連する問題