Groovy Bean Определения

Groovy Bean Определения

1. обзор

В этой быстрой статье мы сосредоточимся на том, как мы можем использовать конфигурацию на основе Groovy в наших проектах Java Spring.

2. зависимости

Прежде чем мы начнем, нам нужно добавить зависимость в наш файлpom.xml. Нам также нужно добавить плагин для компиляции наших файлов Groovy.

Давайте сначала добавим зависимость для Groovy в наш файлpom.xml:


    org.codehaus.groovy
    groovy-all
    2.4.12

Теперь давайте добавим плагин:


    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
        
    

Здесь мы используем компилятор Maven для компиляции проекта с помощью компилятора Groovy-Eclipse. Это может варьироваться в зависимости от IDE, которую мы используем.

Последние версии этих библиотек можно найти наMaven Central.

3. Определение бобов

Начиная с версии 4, Spring обеспечивает поддержку конфигураций на основе Groovy. Это означает, чтоGroovy classes can be legitimate Spring beans.

Чтобы проиллюстрировать это, мы собираемся определить bean-компонент, используя стандартную конфигурацию Java, а затем мы собираемся настроить тот же bean-компонент с помощью Groovy. Так мы сможем увидеть разницу.

Давайте создадим простой класс с несколькими свойствами:

public class JavaPersonBean {
    private String firstName;
    private String lastName;

    // standard getters and setters
}

Важно помнить о геттерах / сеттерах - они имеют решающее значение для работы механизма.

3.1. Конфигурация Java

Мы можем настроить тот же компонент с помощью конфигурации на основе Java:

@Configuration
public class JavaBeanConfig {

    @Bean
    public JavaPersonBean javaPerson() {
        JavaPersonBean jPerson = new JavaPersonBean();
        jPerson.setFirstName("John");
        jPerson.setLastName("Doe");

        return jPerson;
    }
}

3.2. Groovy Конфигурация

Теперь мы видим разницу, когда используем Groovy для настройки ранее созданного компонента:

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

Обратите внимание, что перед определением конфигурации beans мы должны импортироватьJavaPersonBean class. Такжеinside the beans block, we can define as many beans as we need.

Мы определили наши поля как частные, и хотяGroovy makes it look like it’s accessing them directly, it’s doing it using provided getters/setters.

4. Дополнительные настройки компонентов

Как и в случае конфигурации на основе XML и Java, мы можем настраивать не только bean-компоненты.

Если нам нужно установитьalias для нашего bean-компонента, мы можем сделать это легко:

registerAlias("bandsBean","bands")

Если мы хотим определитьscope: компонента

{
    bean ->
        bean.scope = "prototype"
}

Чтобы добавить обратные вызовы жизненного цикла для нашего компонента, мы можем сделать:

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

Мы также можем указать наследование в определении компонента:

{
    bean->
        bean.parent="someBean"
}

Наконец, если нам нужно импортировать некоторые ранее определенные bean-компоненты из конфигурации XML, мы можем сделать это с помощьюimportBeans():

importBeans("somexmlconfig.xml")

5. Заключение

В этом уроке мы увидели, как создавать конфигурации bean-компонентов Spring Groovy. Мы также рассмотрели настройку дополнительных свойств для наших bean-компонентов, таких как их псевдонимы, области действия, родительские компоненты, методы инициализации или уничтожения и способы импорта других bean-компонентов, определенных в XML.

Хотя примеры просты, они могут быть расширены и использованы для создания любого типа конфигурации Spring.

Полный пример кода, который используется в этой статье, можно найти в нашемGitHub project. Это проект Maven, поэтому вы можете импортировать его и запустить как есть.