Neste artigo rápido, vamos nos concentrar em como podemos usar uma configuração baseada em Groovy em nossos projetos Java Spring.
2. Dependências
Antes de começar, precisamos adicionar a dependência ao nosso arquivopom.xml. Também precisamos adicionar um plug-in para compilar nossos arquivos Groovy.
Vamos adicionar a dependência do Groovy primeiro ao nosso arquivopom.xml:
Aqui, usamos o compilador Maven para compilar o projeto usando o compilador Groovy-Eclipse. Isso pode variar dependendo do IDE que usamos.
As versões mais recentes dessas bibliotecas podem ser encontradas emMaven Central.
3. Definindo Feijões
Desde a versão 4, o Spring fornece suporte para configurações baseadas no Groovy. Isso significa queGroovy classes can be legitimate Spring beans.
Para ilustrar isso, vamos definir um bean usando a configuração Java padrão e, em seguida, vamos configurar o mesmo bean usando Groovy. Assim poderemos ver a diferença.
Vamos criar uma classe simples com algumas propriedades:
public class JavaPersonBean {
private String firstName;
private String lastName;
// standard getters and setters
}
É importante lembrar sobre getters / setters - eles são cruciais para o mecanismo funcionar.
3.1. Configuração Java
Podemos configurar o mesmo bean usando uma configuração baseada em Java:
@Configuration
public class JavaBeanConfig {
@Bean
public JavaPersonBean javaPerson() {
JavaPersonBean jPerson = new JavaPersonBean();
jPerson.setFirstName("John");
jPerson.setLastName("Doe");
return jPerson;
}
}
3.2. Configuração Groovy
Agora, podemos ver a diferença quando usamos o Groovy para configurar o bean criado anteriormente:
Observe que antes de definir a configuração dos beans, devemos importar oJavaPersonBean class. Além disso,inside the beans block, we can define as many beans as we need.
Definimos nossos campos como privados e emboraGroovy makes it look like it’s accessing them directly, it’s doing it using provided getters/setters.
4. Configurações de feijão adicionais
Assim como na configuração baseada em XML e Java, podemos configurar não apenas beans.
Se precisarmos definir umalias para nosso bean, podemos fazer isso facilmente:
registerAlias("bandsBean","bands")
Se quisermos definir oscope: do bean
{
bean ->
bean.scope = "prototype"
}
Para adicionar retornos de chamada de ciclo de vida para nosso bean, podemos fazer:
Também podemos especificar herança na definição de bean:
{
bean->
bean.parent="someBean"
}
Finalmente, se precisarmos importar alguns beans definidos anteriormente de uma configuração XML, podemos fazer isso usando oimportBeans():
importBeans("somexmlconfig.xml")
5. Conclusão
Neste tutorial, vimos como criar configurações de bean Spring Groovy. Também abordamos a configuração de propriedades adicionais em nossos beans, como aliases, escopos, pais, métodos de inicialização ou destruição e como importar outros beans definidos em XML.
Embora os exemplos sejam simples, eles podem ser estendidos e usados para criar qualquer tipo de configuração do Spring.
Um exemplo de código completo usado neste artigo pode ser encontrado em nossoGitHub project. Como é um projeto do Maven, você deve poder importá-lo e executá-lo como está.