Plugins do VRaptor
Plugins são complementos ao VRaptor. Eles são úteis para situações como acessar um banco de dados usando JPA ou Hibernate, enviar emails, segurança etc.
VRaptor JPA
O plugin VRaptor JPA cuida da criação e injeção de depedência da EntityManager
e EntityManagerFactory
. Além disso, o plugin aplica o padrão Open EntityManager In View, isto é, ele abre uma transação com o banco de dados no ínicio da requisição e executa o commit da transação no fim da requisição.
Para usá-lo basta você copiar o jar para a sua aplicação, ou declarar o plugin como dependência do Maven conforme o trecho abaixo.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-jpa</artifactId>
<version>4.0.5</version>
</dependency>
É importante que a persistence unit
chame-se default
, e que o persistence.xml
esteja no diretório src/main/resources/META-INF/
.
O plugin não possui nenhum provider. Com isso é necessário que você declare algum provider, como por exemplo, o Hibernate.
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.0.Final</version> <!-- Ou outra versão compatível com JPA 2.1 -->
</dependency>
Ou se você prefere usar o Eclipselink:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.5.1</version>
</dependency>
VRaptor Hibernate
Se você usa o Hibernate 4, você pode usar o plugin vraptor-hibernate. Semelhante ao plugin VRaptor JPA, este plugin cuida da criação e injetação de dependência da Session
e SessionFactory
do Hibernate. Além de aplicar o padrão Open Session In View.
Você pode adicioná-lo em seu projeto Maven conforme o trecho abaixo, ou copiar manualmente o jar para seu projeto.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-hibernate</artifactId>
<version>4.0.4</version>
</dependency>
VRaptor Java 8
Plugin de suporte para Java 8. Oferece converters para as classes do Java Time (JSR-310), reflection para o nome dos parâmetros e mais.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-java8</artifactId>
<version>4.0.0.Final</version>
</dependency>
Simple mail
Permite envio de e-mails.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-simplemail</artifactId>
<version>4.1.0-RC4</version>
</dependency>
Joda-time
Joda-time é uma API para facilitar o trabalho de dados temporais em Java. Para usar o joda-time basta acionar o plugin vraptor-jodatime
. Adicionando o plugin, os converters são registrados automaticamente.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-jodatime</artifactId>
<version>4.1.0-RC3</version>
</dependency>
VRaptor Error-Control
Controle dos erros de sua aplicação em tempo real com o envio de e-mail.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-error-control</artifactId>
<version>4.0.2</version>
</dependency>
VRaptor Brutauth
Forma fácil de verificar as permissões de acesso das ações de seu controller.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-brutauth</artifactId>
<version>4.0.4</version>
</dependency>
VRaptor QuartzJob
Agendamento de tarefas com Quartz.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-quartzjob</artifactId>
<version>4.0.7</version>
</dependency>
VRaptor Freemarker
Renderiza templates do Freemarker.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-freemarker</artifactId>
<version>4.1.0-RC3</version>
</dependency>
VRaptor Dash
Dashboard com varias ferramentas para seus projetos VRaptor.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-dash</artifactId>
<version>4.1.0-RC3</version>
</dependency>
VRaptor Authz
Alternativa para controle de acesso (autorização) de seus métodos do controller.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-authz</artifactId>
<version>4.0.0-RC2</version>
</dependency>
VRaptor I18n
Soluções de i18n na view
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-i18n</artifactId>
<version>4.2.0-RC4</version>
</dependency>
VRaptor Test
Facilmente possibilita a criação de testes de integração ou sistema.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-test</artifactId>
<version>4.0.0</version>
</dependency>
VRaptor Paginator
Paginação eficiente de seus dados do JPA/Hibernate.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-paginator</artifactId>
<version>4.0.0</version>
</dependency>
VRaptor Panettone
Um template engine typesafe escrito em Java.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-panettone</artifactId>
<version>4.0.0-RC9</version>
</dependency>
VRaptor Biscotti
I18n typesafe. Sem mais chaves esquecidas e exceptions pra você e seu cliente.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-biscotti</artifactId>
<version>4.0.0-RC1</version>
</dependency>
VRaptor Routes
Extraia e defina rotas customizadas em um arquivo de properties
.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-routes</artifactId>
<version>4.1.0-RC3</version>
</dependency>
VRaptor Simple Validator
Uma forma simples e efetiva de fazer validações programáticas.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-simple-validator</artifactId>
<version>4.1.0-RC3</version>
</dependency>
VRaptor contrib
Você pode encontrar alguns plugins feitos por usuários do VRaptor no vraptor-contrib.