Primavera com Maven

Primavera com Maven

1. Visão geral

Este tutorial ilustra como configurarthe Spring dependencies via Maven. Os últimos lançamentos do Spring podem ser encontradoson Maven Central.

2. Dependências básicas do Spring com Maven

O Spring foi projetado para ser altamente modular - o uso de uma parte da Spring não deve e não exige outra. Por exemplo, o contexto básico do Spring pode ficar sem as bibliotecas Persistence ou MVC Spring.

Vamos começar com umMaven setup fundamental que usará apenasthe spring-context dependency:


    3.2.8.RELEASE
    


    org.springframework
    spring-context
    ${org.springframework.version}
    runtime

Essa dependência -spring-context - define o atual Spring Injection Container e tem um pequeno número de dependências:spring-core,spring-expression,spring-aop espring-beans. Eles aumentam o contêiner ativando o suporte para alguns doscore Spring technologies: os utilitários do Core Spring, oSpring Expression Language (SpEL), o suporteAspect Oriented Programming e oJavaBeans mechanism.

Observe que estamos definindo a dependência emruntime scope - isso garantirá que não haja dependências de tempo de compilação em quaisquer APIs específicas do Spring. Para casos de uso mais avançados, o escoporuntime pode ser removido de algumas dependências Spring selecionadas, mas para projetos mais simples, háno need to compile against Spring para fazer uso completo do framework.

Observe também que, começando com Spring 3.2,there is no need to define the CGLIB dependency (agora atualizado para CGLIB 3.0) - foi reempacotado (o pacote de todosnet.sf.cglib agora éorg.springframework.cglib) e embutido diretamente no spring-core JAR (consultethe JIRA para detalhes adicionais).

3. Persistência da Primavera com Maven

Vamos agora olhar parathe persistence Spring dependencies - principalmentespring-orm:


    org.springframework
    spring-orm
    ${org.springframework.version}

Isso vem com suporte a Hibernate e JPA - comoHibernateTemplateeJpaTemplate - bem como algumas dependências adicionais relacionadas à persistência:spring-jdbcespring-tx.

A biblioteca de acesso a dados JDBC defineSpring JDBC support, bem comoJdbcTemplate, espring-tx representaTransaction Management Abstraction extremamente flexível.

4. Spring MVC com Maven

Para usar o suporte Spring Web e Servlet, duas dependências precisam ser incluídas nopom, novamente além das dependências principais acima:


    org.springframework
    spring-web
    ${org.springframework.version}


    org.springframework
    spring-webmvc
    ${org.springframework.version}

A dependênciaspring-web contém utilitários específicos da web comuns para ambientes Servlet e Portlet, enquantospring-webmvc enables the MVC support para ambientes Servlet.

Comospring-webmvc temspring-web como dependência, definir explicitamentespring-web não é necessário ao usarspring-webmvc.

5. Segurança de primavera com Maven

Security Maven dependencies são discutidos em profundidade no artigoSpring Security with Maven.

6. Teste de Primavera com Maven

O Spring Test Framework pode ser incluído no projeto através da seguinte dependência:


    org.springframework
    spring-test
    ${spring.version}
    test

A partir do Spring 3.2, o projeto Spring MVC Test foi incluído no Test Framework principal - e, portanto, incluir a dependênciaspring-test é suficiente.

7. Usando Marcos

A versão de lançamento do Spring está hospedada no Maven Central. No entanto, se um projeto precisar usar versões de marcos, um repositório Spring personalizado precisará ser adicionado ao pom:


    
        repository.springframework.maven.milestone
        Spring Framework Maven Milestone Repository
        http://repo.spring.io/milestone/
    

Quando este repositório foi definido, o projeto pode definir dependências, como:


    org.springframework
    spring-core
    3.2.0.RC2

8. Usando instantâneos

Semelhante aos marcos, as capturas instantâneas são hospedadas em um repositório customizado:


    
        repository.springframework.maven.snapshot
        Spring Framework Maven Snapshot Repository
        http://repo.spring.io/snapshot/
    

Depois que o repositório SNAPSHOT é ativado no pom.xml, as seguintes dependências podem ser referenciadas:


    org.springframework
    spring-core
    3.3.0.BUILD-SNAPSHOT

Assim como - para 4.x:


    org.springframework
    spring-core
    4.0.3.BUILD-SNAPSHOT

9. Conclusão

Este artigo discute os detalhes práticos do uso deSpring with Maven. As dependências do Maven apresentadas aqui são, obviamente, algumas das principais, e várias outras podem valer a pena mencionar e ainda não foram feitas. No entanto, esse deve ser um bom ponto de partida para o uso do Spring em um projeto.