Primavera com Maven
Índice
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.