1. Обзор
Этот учебник знакомит с веб-сайтами и с тем, как их использовать в Java-приложении.
Проще говоря, WebJars-это зависимости на стороне клиента, упакованные в файлы архива JAR. Они работают с большинством контейнеров JVM и веб-фреймворков.
Вот несколько популярных веб-сайтов: Twitter Bootstrap , jQuery , Angular JS , Chart.js и т.д.; полный список доступен на официальном сайте .
2. Зачем использовать веб-сайты?
На этот вопрос есть очень простой ответ – потому что это легко.
Ручное добавление и управление зависимостями на стороне клиента часто приводит к трудностям в обслуживании баз кода .
Кроме того, большинство разработчиков Java предпочитают использовать Maven и Gradle в качестве инструментов управления сборкой и зависимостями.
Основная проблема, которую решает WebJars, заключается в том, чтобы сделать зависимости на стороне клиента доступными для Maven Central и пригодными для использования в любом стандартном проекте Maven.
Вот несколько интересных преимуществ веб-семинаров:
- Мы можем явно и легко управлять зависимостями на стороне клиента в веб-приложениях на основе JVM
- Мы можем использовать их с любым широко используемым инструментом сборки, например: Maven, Gradle и т. Д
- Веб-джары ведут себя так же, как и любая другая зависимость Maven, что означает, что мы также получаем транзитивные зависимости
3. Зависимость Maven
Давайте сразу перейдем к этому и добавим Twitter Bootstrap и jQuery в pom.xml :
org.webjars bootstrap 3.3.7-1 org.webjars jquery 3.1.1
Теперь Twitter Bootstrap и jQuery доступны в пути к классам проекта; мы можем просто ссылаться на них и использовать их в нашем приложении.
Примечание: Вы можете проверить последнюю версию Twitter Bootstrap и jQuery зависимостей от Maven Central.
4. Простое приложение
Теперь, когда эти две зависимости веб-Jar определены, давайте создадим простой проект Spring MVC, чтобы иметь возможность использовать зависимости на стороне клиента.
Однако, прежде чем мы перейдем к этому , важно понять, что Веб-сайты не имеют ничего общего с Spring , и мы используем Spring здесь только потому, что это очень быстрый и простой способ настроить проект MVC.
Вот хорошее место для начала настройки проекта Spring MVC и Spring Boot.
И, с помощью простой настройки проекта, мы определим некоторые сопоставления для наших новых клиентских зависимостей:
@Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry .addResourceHandler("/webjars/**") .addResourceLocations("/webjars/"); } }
Конечно, мы можем сделать это и с помощью XML:
5. Зависимости От Версии
При использовании Spring Framework версии 4.2 или выше он автоматически обнаружит библиотеку webjars-locator в пути к классу и использует ее для автоматического разрешения версии любых ресурсов WebJars.
Чтобы включить эту функцию, мы добавим библиотеку webjars-locator в качестве зависимости приложения:
org.webjars webjars-locator 0.30
В этом случае мы можем ссылаться на ресурсы WebJars без использования версии; см. Следующий раздел для нескольких реальных примеров.
6. Веб-семинары на Клиенте
Давайте добавим простую HTML-страницу приветствия в ваше приложение (это index.html ):
WebJars Demo
Теперь мы можем использовать Twitter Bootstrap и jQuery в проекте – давайте использовать оба на нашей странице приветствия, начиная с Bootstrap:
Для версии-агностический подход:
Добавить jQuery:
И версия-агностический подход:
7. Тестирование
Теперь, когда мы добавили Twitter Bootstrap и jQuery на нашу HTML-страницу, давайте протестируем их.
Мы добавим bootstrap alert на нашу страницу:
Success! It is working as we expected.
Обратите внимание, что здесь предполагается некоторое базовое понимание начальной загрузки Twitter; вот руководство по началу работы на официальном сайте.
Это покажет alert , как показано ниже, что означает, что мы успешно добавили загрузчик Twitter в наш путь к классам.
Давайте теперь воспользуемся jQuery. Мы добавим кнопку закрытия к этому оповещению:
Теперь нам нужно добавить jQuery и bootstrap.min.js для функциональности кнопки закрытия, поэтому добавьте их в тег тела index.html, как показано ниже:
Примечание: Если вы используете подход, не зависящий от версии, обязательно удалите только версию из пути, в противном случае относительный импорт может не сработать:
Вот как должна выглядеть наша заключительная страница приветствия:
WebJars Demo
× Success! It is working as we expected.
Вот как должно выглядеть приложение. (И предупреждение должно исчезнуть при нажатии кнопки закрытия.)
8. Заключение
В этой краткой статье мы сосредоточились на основах использования WebJars в проекте на базе JVM, что значительно упрощает разработку и обслуживание.
Мы реализовали проект с поддержкой Spring Boot и использовали Twitter Bootstrap и jQuery в нашем проекте с помощью WebJars.
Исходный код приведенного выше примера можно найти в проекте Github -это проект Maven, поэтому его должно быть легко импортировать и создавать.