-- QQ группа №1: 839128 --
Bus (приложение/сервисная шина) представляет собой базовый фреймворк и набор сервисов, написанный на Java 17+. Он основан на дизайне множества существующих фреймворков и компонентов и может использоваться как промежуточное программное обеспечение для разработки back-end сервисов. Код прост в понимании, а архитектура четко структурирована, что делает его идеальным для обучения.Мы рады сообщить вам, что этот комплект легко освоить и изучить. Если цель — научиться использовать его, достаточно знаний Java. В прошлом при работе над проектами часто возникали различные проблемы, которые могли повторяться много раз. Недостаток навыков систематизации и накопления опыта — это общее недоразумение, которое затрагивает многих людей, включая меня самого.Поэтому я решил создать эти проблемы в виде компонентов и поделиться своим путём развития. Конечно, я также учёл некоторые открытые проекты, материалы и статьи, чтобы создать проект с базовыми возможностями. Этот проект направлен на реализацию основных способностей, а не конкретных бизнес-процессов. Мы надеемся, что он поможет вам и позволит вам наблюдать за моими усилиями и прогрессом. Добро пожаловать сюда, чтобы протестировать! Жизнь коротка, меньше пишите повторяющегося кода! Оцените проект звездами.
Цель состоит в том, чтобы создать комплексное решение от базового фреймворка до распределённой микросервисной архитектуры, непрерывной интеграции, автоматического развертывания и мониторинга системы, которое быстро реализует бизнес-потребности.## Информация о компонентах | Выполнено | Модуль | Описание |
|--------------|--------|----------|
|[√]|[bus-all]|Содержит полный набор модулей для микросервисов и общие компоненты|
|[√]|[bus-base]|Основные функции и связанные с базой сущностей (Entity), сервисов (Service), контроллеров (Controller)|
|[√]|[bus-bom]|Содержит информацию обо всех компонентах, что позволяет через конфигурацию загружать необходимые компоненты|
|[√]|[bus-cache]|Кэширование сервисов и инструменты, поддерживающие Redis, Memcached, Ehcache, Hessian и т. д. |
|[√]|[bus-core]|Основные функции и утилиты, включая константы, потоки, загрузчики классов, рефлексию, коллекции, даты и другие часто используемые утилиты|
|[√]|[bus-cron]|Таймеры и функции управления задачами по расписанию|
|[√]|[bus-crypto]|Шифрование и дешифровка, поддерживающие AES, DES, RSA, MD5 и другие распространённые алгоритмы шифрования|
|[√]|[bus-extra]|Расширение функциональности и операции с файлами, поддержка FTP, файлов, QR-кодов, SMS и т. д. |
|[√]|[bus-health]|Информация о здоровье сервера приложений, сбор данных о программном обеспечении и оборудовании|
|[√]|[bus-http]|Упаковка HTTP-функциональности, позволяющая использовать различные способы (Httpd, Httpx, Httpz) в зависимости от бизнес-сценария|
|[√]|[bus-image]|Сервисы работы с изображениями, анализ и просмотр|
|[×]|[bus-limiter]|Ограничение запросов, позволяющее настраивать стратегии ограничения для различных бизнес-процессов|| [√] | [bus-logger] | Логирование информации и функции, обеспечивающие удобство использования логов благодаря динамическому мониторингу методов логгирования |
| [√] | [bus-mapper] | Операции с данными, расширяющие возможности MyBatis для упрощения разработки и повышения производительности |
| [√] | [bus-oauth] | Авторизация третьих сторон, интегрирована более чем с десятком платформ (включая зарубежные) |
| [√] | [bus-pager] | Пагинация данных, mybatis |
| [√] | [bus-office] | Обработка и преобразование документов Office, POI-упаковка для упрощения работы Java с Excel и другими файлами |
| [√] | [bus-opencv] | Распознавание и анализ изображений, предоставляющий богатый набор алгоритмов обработки графики и изображений, а также поддержку многоплатформенного использования |
| [√] | [bus-proxy] | Общий прокси, упрощающий использование динамического прокси |
| [√] | [bus-sensitive] | Дезидентификация чувствительных данных, прозрачная для приложения и пользователя, интегрируется через конфигурацию |
| [√] | [bus-setting] | Утилиты для настроек, поддерживающие установку/конфигурацию |
| [√] | [bus-shade] | Инструменты генерации кода для Entity, Service, Mapper и т. д. |
| [√] | [bus-socket] | Базовая NIO/AIO-коммуникация, Socket-упаковка, поддерживающая TCP/UDP-серверы |
| [√] | [bus-starter] | Spring Boot Starter, конфигурация Spring, информация о запуске и других файлах конфигураций |
| [√] | [bus-storage] | Компонент хранения файлов, поддерживающий Alibaba Cloud, Qiniu и т. д., предоставляет два способа интеграции — фабрика и внедрение ||[×]|[bus-tracer]|Лёгкий мониторинг распределённой цепочки трассировки, отслеживание логов и процессов доступа, а также внутренних вызовов цепочек|
|[√]|[bus-validate]|Проверка параметров, автоматически проверяет все методы или классы, помеченные @Valid
|
Базовый набор инструментов на Java, который включает в себя упаковку методов JDK для работы с файлами, потоками, шифрованием/расшифровкой, кодировками, регулярными выражениями, потоками, XML и так далее. Также включает в себя упаковку часто используемых инструментов при использовании Spring Boot, таких как MyBatis, XSS, i18n, sensitive и validate.
Подробное описание и способы использования можно найти в README каждого модуля.
<dependency>
<groupId>org.aoju</groupId>
<artifactId>bus-all</artifactId>
<version>x.x.x</version>
</dependency>
Или использовать отдельные компоненты
<dependency>
<groupId>org.aoju</groupId>
<artifactId>bus-xxx</artifactId>
<version>x.x.x</version>
</dependency>
implementation 'org.aoju:bus-all:x.x.x'
Нажмите любую из следующих ссылок для скачивания bus-*-x.x.x.jar
:
Для обеспечения эффективности сборки проекта и выполнения связанных правил, все юнит-тесты и способы использования данного проекта следует проверять через проект Abarth:
Внимание Проект Bus поддерживает Java 17+; некоторые модули не тестировались на платформе Android, поэтому не гарантируется работоспособность всех инструментальных классов или методов.## Обзор ветвей
Исходный код разделён на две ветви, каждая из которых имеет свои особенности:
Ветвь | Цель |
---|---|
main | Основная ветвь, используемая для стабильной версии, совпадает с версией jar в центральном репозитории, не принимает PR или изменения |
dev | Разработка, используется для создания новых версий или исправлений, принимает изменения или PR |
Все виды вкладов (оптимизация, новые возможности, улучшение документации и кода, отчеты о проблемах и багах) приветствуются.
Примеры отзывов:
Внимание: При тестировании удалите конфиденциальные данные.
Открыт в соответствии с лицензией MIT.
Благодарим JetBrains за предоставление лицензии для открытого исходного кода.
##Исходный код — это лучший учебник. Умение читать исходный код и использовать отладку делает освоение его элементарным. Исходный код является самым прямым отражением концепций автора, а также представляет собой магию открытого программного обеспечения. "Слова стоят дёшево, покажите мне код." Открытое программное обеспечение делает обсуждение технических проблем более практичным. После того как вы просмотрите исходный код, у вас будет своё мнение о нём. По мнению автора, Bus действительно снижает порог входа для обучения и разработки, а также гарантирует высокую производительность и надёжность услуг. Если у читателей есть вопросы относительно некоторых частей исходного кода, они всегда могут связаться с автором для обсуждения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )