Definições de Groovy Bean

Definições de Groovy Bean

1. Visão geral

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:


    org.codehaus.groovy
    groovy-all
    2.4.12

Agora, vamos adicionar o plugin:


    maven-compiler-plugin
    3.7.0
    
        groovy-eclipse-compiler
        true
        1.8
        1.8
        ${project.build.sourceEncoding}
    
    
        
            org.codehaus.groovy
            groovy-eclipse-compiler
            2.9.2-01
        
    

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:

beans {
    javaPersonBean(JavaPersonBean) {
        firstName = 'John'
        lastName = 'Doe'
    }
}

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:

{
    bean ->
        bean.initMethod = "someInitMethod"
        bean.destroyMethod = "someDestroyMethod"
}

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á.