Здесь мы используем компилятор 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 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.parent="someBean"
}
Наконец, если нам нужно импортировать некоторые ранее определенные bean-компоненты из конфигурации XML, мы можем сделать это с помощьюimportBeans():
importBeans("somexmlconfig.xml")
5. Заключение
В этом уроке мы увидели, как создавать конфигурации bean-компонентов Spring Groovy. Мы также рассмотрели настройку дополнительных свойств для наших bean-компонентов, таких как их псевдонимы, области действия, родительские компоненты, методы инициализации или уничтожения и способы импорта других bean-компонентов, определенных в XML.
Хотя примеры просты, они могут быть расширены и использованы для создания любого типа конфигурации Spring.
Полный пример кода, который используется в этой статье, можно найти в нашемGitHub project. Это проект Maven, поэтому вы можете импортировать его и запустить как есть.