Como faz a Primavera 3.1 Java com o trabalho de configuração
-
13-12-2019 - |
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.:)
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...
- mvn archetype:generate
- Ele vai pedir para um "arquétipo número'.Para você...tipo 16
- Introduza o ID do grupo, que é apenas o pacote principal.
- Digite Artefato ID, que é o nome do projeto.
- SNAP-SHOT --- pressione enter e mesmo com a versão.
- Pacote - é o mesmo que o ID do grupo do nome.EX:com.primavera
- 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>