Como migrar do tradicional aplicação web java (com web.xml) para a Primavera de inicialização?

votos
7

Eu quero mudar meus projetos de produto à base de primavera.

Meu primeiro passo é transformar a minha aplicação web java a partir de um arquivo WAR gerado, a um jar executável autônomo, alimentado por inicialização primavera.

Vamos dar um exemplo de aplicação web open source de github .: Vaadin-Spring Web Application

O arquivo web.xml pode ser encontrada aqui.

O arquivo de raiz ao contexto pode ser encontrada aqui.

Espero que existem alguns guias para mim para realizar a transformação.

Eu também apresentar um problema no projeto primavera-boot.

Publicado 27/11/2013 em 12:14
fonte usuário
Em outras línguas...                            


1 respostas

votos
12

Esta aplicação não é uma aplicação Spring MVC, tanto quanto eu posso dizer - que provavelmente seria muito mais fácil de migrar se fosse. O objetivo (pela questão github) é a obtenção de um JAR executável. O plano básico que poderia ser a de migrar primeiro para um WAR usando Spring inicialização e, em seguida, a um JAR, uma vez que está funcionando. É um aplicativo bastante simples para que todos nós realmente precisamos fazer é olhar para o web.xmle traduzi-lo para as características relevantes da Primavera de inicialização. Aqui estão alguns guias gerais:

Criar um WAR implementável através da extensão SpringBootServletInitializer(por exemplo, em uma classe chamada Application), e adicione o Bota Primavera @EnableAutoConfigurationanotação. Exemplo:

    @Configuration
    @EnableAutoConfiguration
    @ComponentScan
    public class Application extends SpringBootServletInitializer {

        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(Application.class);
        }

Em seguida, adicione um pouco de configuração:

  • Um @Beandos tipo Servletou ServletRegistrationBeaninstala que feijão no recipiente como se fosse um <servlet/>e <servlet-mapping/>emweb.xml

  • Um @Beandos tipo Filterou FilterRegistrationBeanse comporta de forma semelhante (como um <filter/>eo <filter-mapping/>).

  • A ApplicationContextneste caso está enraizada em um arquivo XML, de modo que o primeiro passo mais fácil é @Importque na Primavera Application. Este é tão simples que pode ser recriado em poucas linhas como @Beandefinições.

  • Recursos estáticos pode ser movido para /public(ou /staticou /resourcesou /META-INFO/resources) na raiz classpath

Quando a guerra está funcionando, torná-lo executável, adicionando um mainmétodo para a nossa Application, por exemplo,

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}

Veja também o Guia de Introdução na conversão de um JAR a uma guerra .

Como eu disse, o maior problema com este aplicativo específico é que ele não é um aplicativo Spring MVC. Como o irlandês poderia dizer: "Se eu quisesse chegar lá, senhor, eu não estaria começando a partir daqui." Esta é uma questão interessante em geral, mas eu recomendo que ninguém olhando para migrar um aplicativo Primavera de Primavera Bota ler o conselho geral aqui, mas talvez começar outra discussão em outro lugar.

De qualquer forma, eu vou ter uma festança em converter este aplicativo específico (frascos de código fonte seria bom), e atualizar esta resposta se eu aprender algo novo.

Respondeu 27/11/2013 em 12:54
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more