Главная страница
Навигация по странице:

  • 15.3. Классификация артефактов

  • 2. Артефакты рабочих продуктов (work product artifacts)

  • 3. Артефакты исполнения (execution artifacts)

  • 16. В чем отличие артефакта war от war exploded

  • EAR – Enterprise Archive.

  • 17. Какая разница между аннотациями @Component, @Repository и @Service в Spring

  • Инструкция по созданию бизнесобъектов. Strategy это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми


    Скачать 0.73 Mb.
    НазваниеИнструкция по созданию бизнесобъектов. Strategy это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми
    Дата13.11.2022
    Размер0.73 Mb.
    Формат файлаdocx
    Имя файла2.docx
    ТипИнструкция
    #785689
    страница11 из 26
    1   ...   7   8   9   10   11   12   13   14   ...   26

    15.2. Развертывание артефактов на серверах приложений и облачных платформах?


    Многие форматы артефактов (например, WAR, Exploded WAR, EAR, Exploded EAR) подходят для развертывания на серверах приложений и облачных платформах. Вот как вы развертываете такие артефакты:

    В конфигурации запуска/отладки сервера или облака укажите артефакт, который необходимо развернуть. (Используйте вкладку или поле «Deployment».)

    Выполните конфигурацию запуска/отладки или используйте параметр развертывания «Развернуть» в окне инструментов «Серверы приложений», «Выполнение» или «Отладка».

    15.3. Классификация артефактов?


    Как правило, артефакты подразделяются на:

    1. Артефакты размещения (deployment artifacts) — динамические библиотеки и исполняемые коды, классические и альтернативные объектные модели (.NET, CORBA, Enterprise Java Beans и т. п.)

    2. Артефакты рабочих продуктов (work product artifacts) — результаты процесса разработки программного продукта, которые напрямую не участвуют в работе созданного приложения, но являются результатами разработки, например — файлы исходного кода и файлы данных, из которых создаются артефакты размещения.

    3. Артефакты исполнения (execution artifacts), которые динамически возникают в ходе выполнения программного продукта, например — объекты .NET, которые генерируются из DLL.

    Стандарт UML содержит в себе набор стереотипов, которые можно использовать для представления основных видов из всего разнообразия артефактов (файлы, документы, библиотеки, скрипты и т. п.)] Стандартными стереотипами, типичными для артефактов, являются source и executable.

    16. В чем отличие артефакта war от war exploded?


    war артефакт — упакованный в архив проект, только уже скомпилированный, и в котором изменена структура папок так, чтобы его можно было выкладывать уже напрямую на Tomcat.

    war exploded - то же самое, только в незаархивированном виде.

    16.1 В чем разница между WAR и JAR?


    jar и war – расширения платформо-независимых файлов-архивов Java-приложения. Кроме них есть еще третий формат, ear. Все эти форматы – на самом деле просто zip-архивы с классами и другими частями приложения. Вы можете переименовать такой файл в .zip, разархивировать, и посмотреть, что внутри.

    JAR – Java Archive. Содержит файлы классов, ресурсы, зависимые библиотеки, и другие необходимые для приложения файлы. Может содержать точку входа, и использоваться как цель для исполнения команды java.

    WAR – Web Archive. Технически имеет ту же структуру, но другую роль – архив JavaEE web-компонента. Обычно содержит jar-ы с реализацией, JSP, статические файлы фронт-энда, и мета-информацию для сервлет-контейнера (web.xml). В основном используется как деплоймент web-приложения в сервлет-контейнер. С приходом Servlet API 3.0 и embedded-контейнеров, все больше становится принято запаковывать и web-компоненты в самодостаточные jar (Лозунг Spring Boot: Make jar, not war).

    EAR – Enterprise Archive. Для разработчиков, начавших карьеру уже во времена Spring Framework, может показаться совсем экзотичным. Это собранное воедино монолитное JavaEE приложение. Содержит дескрипторы деплоймента и JavaEE модули (веб-модули, EJB, клиентские модули, адаптеры ресурсов). Деплоится в JavaEE Application Server.

    Все три типа файлов собираются утилитой jar из JDK.


    17. Какая разница между аннотациями @Component, @Repository и @Service в Spring?


    @Component – простой способ сделать объявление класса объявлением Spring-бина. Из всех компонентов, которые попали в сканирование (о которых знает @ComponentScan), будут созданы bean-definition.

    Остальные аннотации – это alias (пересылка, некий дополнительный домен) аннотации @Component. Сами по себе они не добавляют поведения, и технически в рамках ядра Spring Framework работают так же.

    Эти аннотации называют «Stereotype annotations». Их главное отличие – семантика, логическая роль компонентов:

    @⁠Service – реализация бизнес-логики;

    @⁠Repository – хранилище данных: «репозиторий» из Domain-Driven Design или классический DAO;

    @⁠Controller – обработка веб-запросов (методы @RequestMapping);

    Сторонние компоненты могут пользоваться этой семантикой. Например, трансляция исключений (org.springframework.dao.annotation. PersistenceExceptionTranslationPostProcessor).

    Persistence API работает именно на компонентах стереотипа @Repository. Таким образом, в отдельных случаях кроме семантики может меняться и поведение кода библиотек.

    Пользовательские аннотации, производные от @Component, могут добавлять специальную логику в бинах. Например, бины, получившиеся при помощи @Repository, дополнительно имеют обработку для JDBC Exception
    1   ...   7   8   9   10   11   12   13   14   ...   26


    написать администратору сайта