Анализ преимуществ jeeJson
Restful Api интерфейс, полное разделение между передней и задней частью, json — единственный формат возвращаемых данных.
Разделение бизнес-платформы и системы управления; common проект объединил ключевые бизнес-процессы; 30 минут достаточно для создания нового готового к запуску проекта.
Единый формат возврата данных: независимо от успеха или неудачи запроса, будь то 400 или 404, если сервис не завис, он всегда возвращает стандартный JSON.
Идентификация каждого запроса с помощью uuid (возвращаемого поля id), что позволяет использовать значение id для поиска записей журнала о конкретной операции в запросе.
Динамическое отслеживание HTTP запросов, включая IP, интерфейс, метод вызова, входные параметры и результаты, а также отдельный журнал бизнес-операций для каждой SQL-команды (больше не нужно беспокоиться о поиске ошибок).
Валидация данных с использованием hibernate validator, модель исследована автором, список вложенных списков проверяется с помощью одной аннотации.
Генератор кода: оптимизация на основе mybatisplus, автоматическое создание базовых классов, таких как controller, service, entity, mapper и mapper xml.
Импорт и экспорт Excel: если вы когда-либо сталкивались с трудностями при экспорте десятков тысяч записей в Excel и боялись перегрузить сервер, этот пакет решит ваши проблемы.
Слой Dao использует mysql + mybatis в качестве основной модели, дополненной mybatisplus (ORM инструмент) и druid источником данных.
Отказ от XML и свойств конфигурации, использование yml и @Configuration для упрощения конфигурационных файлов spring.
Поддержка различных сред: разработка и тестирование.
Глобальные, проектные и связанные со средой конфигурации. Одна конфигурация может быть использована повсеместно.
Базовые инструменты (spring lang3 + guava) и lambok синтаксический сахар (упрощение создания сущностей без использования getter/setter методов).
Богатый набор инструментов и методов, все методы статические, доступны напрямую (даже если требуется зависимость от конфигурационного файла или внешних ссылок, они могут быть преобразованы в статические).
Интеграция с облачным сервисом Tencent IM для простых уведомлений.
Многопользовательская система с поддержкой мобильных устройств, WeChat и QQ, с возможностью единого входа.
Однокнопочное развёртывание для тестирования, предварительного просмотра, производства и других сред; различные способы запуска с разными уровнями детализации журналов.
Интеграция с Tencent Cloud для потокового вещания, прямых трансляций и объектного хранилища.
Контроль версий интерфейса на основе аннотаций (один и тот же интерфейс может иметь разные версии с сохранением URI).
Структура проекта jeeJson
Проект состоит из трёх частей: biz, manage и common.
Biz: ориентированная на клиента платформа обработки бизнес-процессов. Включает shiro аутентификацию (config.shiro), контроллеры, сервисы и мапперы (трёх- и четырёхслойные модели), а также репозитории для сложных сущностей.
Manage: система управления для администраторов. Включает планировщик задач, потребителей сообщений (RabbitSender) и другие компоненты, аналогичные biz.
Common: общие утилиты и сущности, используемые в biz и manage. Включает аннотацию валидатора (top.jeejson.annotation.validator), аспекты (top.jeejson.aspect), конфигурацию (top.jeejson.config), константы (top.jeejson.constant), сущности (top.jeejson.entity), исключения (top.jeejson.exception), фильтры (top.jeejson.filter), перехватчики (top.jeejson.interceptor), мапперы (top.jeejson.mapper), параметры запроса (top.jeejson.so), инструменты (top.jeejson.utils), объекты для внутреннего использования (top.jeejson.vo) и другие классы (top.jeejson.other).
Выбор технологий в jeeJson
Основные технологии включают Spring Boot, Spring Framework, Spring MVC, mybatis, mybatisplus, druid, maven, bat/sh скрипты для однократного развёртывания, redis, Apache Shiro JWT, токены, сеансы, kickout, rabbitMq, hibernate validator, FastJsonUtils, DozerBeanUtil, SerializeUtil, Quartz, velocity, logback, Aliyun OSS, lombok, lang3, guava, swaggerui, Tencent IM, goEasy webSocket, zxing, изображения, @Async и другие инструменты.
Техническая документация
Автор предоставляет ссылки на свой блог на CSDN, где он планирует постепенно публиковать информацию о технологиях, используемых в проекте.
Документация по развёртыванию и разработке
Для получения дополнительной информации о развёртывании и разработке автор предлагает связаться с ним через WeChat (jacob-xiao). Он также готов поделиться своими знаниями и опытом в этой области.
Авторские права
jeeJson использует лицензию Apache License 2.0, и все используемые технологии являются открытыми. Автор приглашает всех желающих внести свой вклад в проект, включая Fork, рефакторинг и отправку кода.
Участие и вклад
Автор приветствует всех, кто хочет присоединиться к проекту и помочь в его развитии. Предлагается выполнить следующие шаги:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )