Подписаться на хаб

Java dev

Клуб Java разработчиков...
В закладки
3458
0
0

А вы слышали о Spark Java?

В этой статье я бы хотел вам поведать о таком маленьком фреймворке веб-приложений как Spark Java. Важный момент, именно Spark Java, если говорить просто Spark то вас могут понять неправильно, так как есть Apache Spark который позволяет обрабатывать большие объемы данных, но о нем не в этой статье.

Spark Java - это микрофреймворк типа как Lumen в PHP, далее я все же буду называть его просто Spark, но вы имейте ввиду что я говорю о Spark Java.

Данный фреймворк построен вокруг Jetty сервера. Да, этот фреймворк сам себя серверит. Например я его использую для микросервисов которые мне последнее время часто приходится писать. В Spark’е есть простой роутер, вы можете очень легко устанавливать обработчики запросов, писать маршруты и так далее, смотрите об этом тут http://sparkjava.com/documentation.html#routes. Spark обладает очень неплохими возможностями для своего “размера”. Например можно ставить фильтры перед запросами, можно делать единые точки обработки исключений чтобы отдавать их в ответе, это полезно при разработки Rest сервиса. В этом фреймворке есть все, чтобы построить небольшое веб-приложение,но при небольшом тюнинге можно построить и большое приложение.

В документации все примеры на Java 8, но если вы знаете о том как работают лямбда выражения в Java, то можете писать хоть на Java 6 и успешно использовать Spark.

Кстати, про лямбды вы можете прочитать тут https://megahub.me/hub/java?w=11.

Spark поддерживает сессии, куки, развитые классы для работы с запросами и ответами. Но из коробки он не умеет работать с JSON да и вообще из коробки он умеет возвращать только примитивные ответы, но там же у них в документации написано как подключить JSON или HTML рендереры. Вот ссылки:

  1. http://sparkjava.com/documentation.html#response-transformer
  2. http://sparkjava.com/documentation.html#views-templates

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

Вообщем просто знайте об этом фреймворке :) Если у вас встанет задача разработка небольшого Rest сервиса или сайта, этот фреймворк будет вашей серебрянной пулей.

 

Пожаловаться Подписаться
3458
0
0
0 ответов