Поддержка обработчиков аннотаций в IDE NetBeans. Часть I. Использование проекта Lombok

Содержимое на этой странице применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0

Для демонстрации принципов работы нестандартных аннотаций в IDE NetBeans используется проект Lombok, обеспечивающий удобный способ автоматического создания нескольких элементов кода Java, таких как методы получения, методы установки, конструкторы и другие. Дополнительные сведения о функциях проекта приведены на странице проекта Lombok. Следует, однако, помнить, что проект Lombok включает в себя ряд функций, которые могут работать не во всех средах разработки.

Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.

Программное обеспечение или материал Требуемая версия
IDE NetBeans 7.2, 7.3, 7.4, 8.0
Комплект для разработчика на языке Java (JDK) версия 7 или 8
lombok.jar версия 1.12.4 и более поздние

Создание проекта Java

В этом упражнении необходимо создать простой проект Java и класс с именем MyBooks.java для демонстрации аннотаций в действии.

  1. Выберите Файл > Новый проект в главном меню, чтобы открыть мастер создания проектов.
  2. В списке 'Тип проекта' в категории 'Java' выберите 'Приложение Java'. Нажмите 'Далее'.
  3. Введите на странице "Имя и местоположение" мастера текст TestAnn в качестве имени проекта.
  4. Введите testann.TestBooks в поле "Создать главный класс", чтобы заменить имя класса по умолчанию. Нажмите кнопку "Завершить".
    моментальный снимок мастера создания проектов

    После нажатия кнопки "Готово" среда IDE создаст проект приложения Java и откроет классTestBooks.java в редакторе. Как вы можете видеть, теперь новый проект отображается в окне "Проекты", а класс TestBooks.java находится в пакете testann в узле "Исходные файлы".

  5. Правой кнопкой мыши щелкните узел с пакетом testann в окне "Проекты", затем выберите "Создать" > "Класс Java".
  6. Введите MyBooks в поле "Имя класса" и подтвердите создание класса в пакете testann. Нажмите кнопку "Завершить".

    После нажатия кнопки "Готово" среда IDE откроет новый класс в редакторе.

  7. В редакторе исходного кода добавьте три следующих поля в MyBooks.java.
    package testann;
    
    public class MyBooks {   
        private int year; //fields
        private String title;
        private String author;
    
    }
  8. Поместите курсор в объявление класса и нажмите сочетание клавиш CTRL+ПРОБЕЛ для вызова функции автозавершения кода редактора.
  9. Выберите MyBooks (int year, String title, String author) - generate в списке автозавершения кода, чтобы создать конструктор для MyBooks.java.
    снимок автозавершения кода в редакторе
  10. Сохраните изменения.

Активация пользовательских аннотаций (lombok.jar) для проекта

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

  1. Загрузите файл lombok.jar и сохраните его в системе.
  2. Щелкните правой кнопкой мыши узел проекта TestAnn и выберите команду "Свойства".
  3. Выберите категорию "Библиотеки" в диалоговом окне "Свойства проекта".
  4. Нажмите кнопку "Добавить JAR/папку" во вкладке "Компиляция" и перейдите к загруженному файлу lombok.jar.
    снимок категории 'Библиотеки' в окне 'Свойства'

    Ресурсы, добавленные на вкладке "Компиляция", соответствуют параметру -classpath компилятора Java. Поскольку файл lombok.jarявляется отдельным файлом JAR, содержащим определения аннотаций и процессоры аннотаций, его необходимо добавить в путь к классам проекта, соответствующий вкладке "Компиляция".

  5. Выберите в окне "Свойства проекта" категорию "Компиляция".
  6. Убедитесь, что флажок "Включить обработку аннотаций" установлен (параметр активирован по умолчанию). Также установите флажок "Включить обработку аннотаций в редакторе".
    снимок категории 'Компиляция' в окне 'Свойства'

    Параметр "Включить обработку аннотаций" активирует обработку аннотаций при построении и компиляции проекта. Если флажок не установлен, параметр -proc:none передается в компилятор Java, и компиляция выполняется без обработки аннотаций. Таким образом, при необходимости обработки аннотаций необходимо установить флажок "Включить обработку аннотаций".

    При установке флажка "Включить обработку аннотаций в редакторе" результаты обработки аннотаций становятся видимыми в редакторе. Дополнительные артефакты, созданные процессорами аннотаций (классы, методы, поля и др.), становятся видимыми в редакторе среды IDE и доступными для функции автозавершения кода, навигатора, перехода к типу, поиска случаев использования и пр.

  7. В окне "Свойства проекта" нажмите кнопку "ОК" и вернитесь в файл MyBooks.java.

Развернув узел "Библиотеки" в окне "Проекты", вы увидите, что теперь файл lombok.jar находится в списке библиотек проекта.

снимок окна 'Проекты'

Создание приложения при помощи пользовательских аннотаций Lombok

  1. Введите в файле MyBooks.java текст @Data перед объявлением класса MyBooks. @Data представляет собой аннотацию, создающую шаблонный код для классов Java: методы получения для всех полей, методы установки для всех неполных полей и соответствующие реализации toString, equals и hashCode, включающие в себя поля класса.

    Дополнительные сведения об аннотациях, поддерживаемых в проекте Lombok, приведены в разделе Обзор функций Lombok.

  2. Щелкните всплывающую подсказку в левом поле редактора и добавьте импорт для lombok.Data.
    снимок подсказки в редакторе

    Итоговый код в редакторе должен выглядеть следующим образом:

    package testann;
    
    import lombok.Data;
    
    
    @Data
    public class MyBooks {
    
        private int year; //fields
        private String title;
        private String author;
    
        public MyBooks(int year, String title, String author) {
            this.year = year;
            this.title = title;
            this.author = author;
        }
    }

    Обратите внимание, что необходимые артефакты кода, например методы получения, методы установки, toString и другие созданы и отображаются в окне навигатора. Аннотация @Data создала весь шаблонный код, необходимый для типичного класса.

    снимок окна 'Навигатор'

    Можно также вызвать окно автозавершения кода (CTRL+ПРОБЕЛ) и проверить доступность созданных артефактов для выбора. Теперь необходимо убедиться, что проект выполняет компиляцию, а созданные артефакты можно вызвать из других компонентов программы.

  3. Откройте файл TestBooks.java с методом main и добавьте следующий код (выделен полужирным шрифтом), чтобы создать новый объект класса MyBooks.
    package testann;
    
    public class TestBooks {
    
        public static void main(String[] args) {
            MyBooks books = new MyBooks(2009, "My Beautiful Dream", "John Smith");
        }
    }
  4. Добавьте следующий код, который выводит на экран значения переменной books.

    Для возврата значений следует вызвать методы получения, автоматически созданные в файле lombok.jar. Обратите внимание, что при вводе автоматически созданные артефакты доступны в окне автозавершения кода.

    package testann;
    
    public class TestBooks {
    
        public static void main(String[] args) {
            MyBooks books = new MyBooks(2009, "My Beautiful Dream", "John Smith");
            System.out.println("Year: " + books.getYear() + ", Title: " + books.getTitle() +  ", Author: " + books.getAuthor());
        }
    }
  5. Сохраните изменения.
  6. Щелкните правой кнопкой мыши узел проекта в окне "Проекты" и выберите команду "Выполнить" (F6).

    После запуска приложения на экране должны отобразиться следующие выходные данные, демонстрирующие успешность компиляции.

    снимок окна вывода

Таким образом, артефакты, созданные при помощи обработчика аннотаций Lombok, доступны из других компонентов программы.

Что дальше?

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo