Java 9 Модули (проект Jigsaw)

FacebooktwittertumblrFacebooktwittertumblr

Данная статья написана командой Vertex Academy. Это одна из статей из нашего Учебника по Java 9. Надеемся, что данная статья Вам будет полезна. Приятного прочтения!

1. Введение

В Java 9 появился долгожданный Project Jigsaw, или же просто модули. Они позволяют сделать приложение меньше в обьеме, более инкапсулированным и совершенным. В этой статье мы рассмотрим создание модулей.

2. Создание первого модуля

Для того чтобы создать модуль в IntelliJ IDEA необходимо в заранее созданном приложении нажать правой кнопкой на модуль и выбрать "new -> module" далее указываем имя и создаем наш первый модуль. В нашем случае имя модуля - human

Важный момент, для того чтобы модуль был полноценным, ему нужно добавить module-info.java, при чем создан он должен быть строго в папке src. Содержимое файла, в нашем случае, будет выглядеть так 

Дальше все как в обычном Java приложении, можем создавать пакеты, классы и тд.

Создадим пакет services, и в нем следующий класс

Поскольку создавать программное обеспечение без знаний нельзя, то их нужно как-то получить. Для этого создадим другой модуль, назовем его knowledge-base и создадим в нем вот такую структуру

В классе Knowledge создадим метод obtain(String requirements)

Этому классу необходим класс KnowledgeHelper для получения знаний по предметной области. Класс находится в пакете internal и выглядит так

Итак, вроде бы все создали, но. Нужно ведь создать module-info.java

Ключевое слово exports используется, чтобы указать какие пакеты из модуля могут использоваться в других модулях. В данном случае мы открываем пакет knowledgebase, но НЕ internal. Если мы хотим открыть доступ и к нему, то его нужно явно указать так

Но мы этого делать не будем, пакет на то и внутренний, чтобы он использовался только внутри модуля.

Здесь закончили, возвращаемся к модулю human.  Для того, чтобы SoftwareDeveloper мог пользоваться знаниями необходимо изменить наш module-info.java

Ключевое слово requires используется, чтобы указать какие модули нужны для работы данного модуля. В этом случае, модулю human для работы необходим модуль knowledge.base.

Помним, что экспортируем мы пакеты, а требуем - модули.

Теперь со спокойной душой можно добавить импорт в класс SoftwareDeveloper

Проверим как все работает, для этого создадим в модуле human пакет main и класс Owner

При запуске увидим следующее

На этом статья заканчивается, но не новинки Java 9.

Есть возможность записаться на наши курсы по Java. Детальную информацию смотрите у нас на сайте.

 

FacebooktwittertumblrFacebooktwittertumblr

FacebooktwittertumblrFacebooktwittertumblr
Самоучители--узнать детальнее--