SORU
10 Kasım 2011, PERŞEMBE


Nasıl applicationcontext.xml yerine Bahar @Yapılandırma açıklamalı sınıf kayıt web.xml içinde dosya?

Birlikte Aksaray ve bahar web uygulama kullanıyorum. @Configuration, @ComponentScan vb gibi ek açıklamaları kullandığı bir yapılandırma sınıfı içinde veri kaynağı ve oturum fabrika yapılandırılmış.Projemde herhangi bir applicationContext.xml dosya yokYapılandırma kapsamında her sınıfta xml girdi işleme olduğum gibi. Test çalışması başarılı bir şekilde çalışıyor ama web başvurumu dağıtırken, bana hata veriyor

java.lang.İllegalStateException: Hayır WebApplicationContext bulundu: ContextLoaderListener kayıtlı?

Şimdi ise web.xml, dinleyici sınıfı veriyorum

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

bana hata veriyor

/WEB-INF/applicationContext.xml bulunamadı

Göre belge ContextLoaderListener doğru, eğer vermezsem contextConfigLocation param web.xml açıkça, bu arama için varsayılan bahar bağlam adlı dosya applicationContext.xml web.xml. Şimdi, Eğer bahar içerik dosyası kullanın ve açıklamalarla tüm yapılandırma yapmak istemiyorum eğer doğru değilse ne yapmam gerekir? Nasıl xml dosyası kullanın ve sadece ek açıklamalar kullanmadan, ben bahar ile benim web uygulama çalıştırmaları ve Aksaray, böylece dinleyici sınıf ContextLoaderListener kayıt olmalıyım?

CEVAP
10 Kasım 2011, PERŞEMBE


web.xml AnnotationConfigWebApplicationContext ile içerik bootstrap gerekir:

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextClass</param-name>
        <param-value>
            org.springframework.web.context.support.AnnotationConfigWebApplicationContext
        </param-value>
    </init-param>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            org.package.YouConfigurationAnnotatedClass
        </param-value>
    </init-param>
</servlet>

Ve MVC @EnableWebMvc kullanmayı unutmayın tekme açıklamalar.

daha fazla bilgi için:

Bir DÜZENLEME "yorum" =>takip Turing Tamamlamak için:

Evet elbette bir dinleyici gerekir. Yukarıdaki tamamen soru cevapları olsa da "Bahar @Yapılandırma açıklamalı sınıfa kayıt nasıl yerine web.xml dosya applicationContext.xmlburada example bir Bahar resmi belgeleri " tam web.xml düzenleri:

<web-app>
  <!-- Configure ContextLoaderListener to use AnnotationConfigWebApplicationContext
       instead of the default XmlWebApplicationContext -->
  <context-param>
      <param-name>contextClass</param-name>
      <param-value>
          org.springframework.web.context.support.AnnotationConfigWebApplicationContext
      </param-value>
  </context-param>

  <!-- Configuration locations must consist of one or more comma- or space-delimited
       fully-qualified @Configuration classes. Fully-qualified packages may also be
       specified for component-scanning -->
  <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>com.acme.AppConfig</param-value>
  </context-param>

  <!-- Bootstrap the root application context as usual using ContextLoaderListener -->
  <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- Declare a Spring MVC DispatcherServlet as usual -->
  <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!-- Configure DispatcherServlet to use AnnotationConfigWebApplicationContext
           instead of the default XmlWebApplicationContext -->
      <init-param>
          <param-name>contextClass</param-name>
          <param-value>
              org.springframework.web.context.support.AnnotationConfigWebApplicationContext
          </param-value>
      </init-param>
      <!-- Again, config locations must consist of one or more comma- or space-delimited
           and fully-qualified @Configuration classes -->
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>com.acme.web.MvcConfig</param-value>
      </init-param>
  </servlet>

  <!-- map all requests for /app/* to the dispatcher servlet -->
  <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/app/*</url-pattern>
  </servlet-mapping>
</web-app>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • trickycharms

    trickycharms

    6 Aralık 2013