Pergunta

Apenas uma pergunta geral, quando você definir um Java baseada da web de configuração do aplicativo.Ou seja.e tem uma classe para :ApplicationContext e um WebApplicationInitializer classe.

Como faz a Primavera sei que ele tem para carregar grãos, como nenhum xml arquivos de configuração existe..como tomcat saber nada sobre o webapp sem web.xml

Um novato pergunta..eu aprecio isso.:)

Foi útil?

Solução

Ver este post no blog do SpringSource blog, parte importante sobre web.xml tem um exemplo, basicamente, aponta para JavaConfigWebApplicationContext em vez de padrão XmlWebApplicationContext no DispatcherServlet's <init-param>:

<web-app>
    <!-- Configure ContextLoaderListener to use JavaConfigWebApplicationContext
         instead of the default XmlWebApplicationContext -->
    <context-param>
        <param-name>contextClass</param-name>
        <param-value>org.springframework.config.java.context.JavaConfigWebApplicationContext</param-value>
    </context-param>
    <!-- Configuration locations must consist of one or more comma- or space-delimited
         fully-qualified @Configuration classes -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>example.RootApplicationConfig</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</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- Configure DispatcherServlet to use JavaConfigWebApplicationContext
             instead of the default XmlWebApplicationContext -->
        <init-param>
            <param-name>contextClass</param-name>
            <param-value>org.springframework.config.java.context.JavaConfigWebApplicationContext</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>example.web.WebBeansConfig</param-value>
        </init-param>
    </servlet>
</web-app>

Outras dicas

Eu tenho uma MUITO BOA MANEIRA de ajudá-lo a aprender Spring MVC, se você tem o Maven instalado e funcionando.

SE ASSIM:vá para a linha de comando (Cygwin) eu uso...

  1. mvn archetype:generate
  2. Ele vai pedir para um "arquétipo número'.Para você...tipo 16
  3. Introduza o ID do grupo, que é apenas o pacote principal.
  4. Digite Artefato ID, que é o nome do projeto.
  5. SNAP-SHOT --- pressione enter e mesmo com a versão.
  6. Pacote - é o mesmo que o ID do grupo do nome.EX:com.primavera
  7. Confirme-a digitando a letra 'y' e pressione enter.

FAZER todos os itens acima, depois em seu diretório de espaço de trabalho.De que forma ele é criado lá.
Você pode fazer "mvn eclipse:eclipse" para carregá-lo no Eclipse OU você pode simplesmente importá-lo.Eu prefiro a moda antiga, a importação de um projeto existente.

Tudo vai ser 'já' set up para você, em termos de configuração (Baseado em Java) que é bom para você.Ele terá todas as dependências Maven que você precisa, bem que já está em seu pom.xml.Você pode adicionar ou tirar dele se você quiser.

O ponto aqui é que você vai ter um projeto já e você pode jogar com ele de lá.Eu criar todos os meus projetos como esse em primeiro e apagar o que eu não preciso e adicione que eu faço e, em seguida, ir de lá.

Boa sorte!!!

Anywho...adicione isso ao seu web.xml.Isto irá ajudá-lo em sua resposta.Esta pesquisa abaixo:

<context-param>
    <param-name>contextClass</param-name>
    <param-value>
        org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    </param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top