Поэтому я решил создать этот проект, чтобы облегчить работу моих коллег и повысить эффективность разработки общей архитектуры проекта.
Проект основан на современной распределённой архитектуре. Конечно, он не обходится без популярного фреймворка SpringBoot «из коробки». Для взаимодействия между сервисами используется Feign. Что касается постоянного слоя, то здесь применяется не очень дружественный для новичков SpringDataJPA. А для обнаружения сервисов вызывается Nacos от Alibaba.
На данный момент поддерживается только база данных MySQL.
Таким образом, стек технологий, используемых в проекте, выглядит следующим образом:
Название фреймворка | Описание фреймворка |
---|---|
SpringBoot | Фреймворк для быстрой разработки на основе Spring |
Gson | Формат JSON |
JPA | Фреймворк для постоянного слоя |
Swagger2 | Онлайн-документация по интерфейсам |
Log4j2 | Логирование |
SpringSecurity | Аутентификация и авторизация |
openfeign | Вызов компонентов сервиса |
Поскольку сейчас проект разрабатываю только я, и я всего лишь обычный сотрудник, работающего с 9 до 18, обновления проекта полностью зависят от моего настроения.
Хотя обновления проекта не всегда стабильны, я постараюсь сделать всё возможное.
Конечно, после общего описания проекта, пришло время представить его структуру и планировку.
|-generate-api // API-вызовы, похожие на шлюз
|-generate-bean // Модуль объектов
|----generate-bean-entities // Модуль сущностей
|----generate-bean-vo // VO-модуль
|-generate-common // Общий модуль
|----generate-common-core // Основной модуль
|----generate-common-utils // Запланированный, но ещё не выделенный модуль инструментов
|----generate-common-search // Поисковый модуль
|-generate-repositories // Модуль репозиториев
|-generate-client // Сервисный модуль
|-generate-response // Интерфейс модуля
|----generate-author // Аутентификация проекта на странице входа
|----generate-datasource // Некоторые точки доступа к базе данных
Текущая структура модулей пока что состоит из этого, но в будущем она будет расширяться. Если у вас есть какие-либо требования или ожидания относительно проекта, пожалуйста, не торопитесь и свяжитесь со мной. Я буду учитывать ваши ценные мнения о проекте.
Скрипт инициализации базы данных находится в файле generate-init.sql в корневом каталоге. Данные аутентификации ещё не полностью заполнены. В скрипте есть SQL-запросы, связанные с базой данных. По умолчанию все данные, связанные с генератором, были удалены из базы данных.
Примечание: если вы разработчик и используете компьютер компании, обязательно помните, что нельзя импортировать данные компании в базу данных, а затем загружать их в свой общедоступный репозиторий.
Имя базы данных | Описание базы данных |
---|---|
wuliang_generate_datasource | Хранит данные о других базах данных и таблицах, а также информацию о полях |
wuliang_generate_author | Используется для аутентификации пользователей |
wuliang_generate_system | Системная база данных |
Используется для хранения данных о базах данных и таблицах. Скрипт инициализации уже содержит необходимые данные. Просто запустите файл SQL, когда будете использовать проект.
Описание таблиц:
Таблица | Описание таблицы |
---|---|
t_datasource_schema | Список баз данных MySQL |
t_datasource_table | Список таблиц MySQL, связанных с базами данных |
t_datasource_column | Список полей MySQL, связанных с таблицами |
Используется для проверки подлинности пользователей и управления доступом. Реализована традиционная архитектура RBAC для управления правами доступа пользователей.
Описание таблиц:
Таблица | Описание таблицы |
---|---|
t_author_user | Таблица пользователей |
t_author_user_info | Подробная информация о пользователях |
t_author_role | Таблица прав |
t_author_permission | Таблица ролей |
c_user_permission | Связывающая таблица между пользователями и ролями |
c_permission_role | Связывающая таблица между ролями и правами |
В основном используется для реализации функций системы.
Описание таблиц:
Таблица | Описание таблицы |
---|---|
t_system_menu | Таблица меню |
t_system_template | Таблица шаблонов |
Что касается стандартов кодирования, в этом проекте мы строго следуем им. В целом, мы ориентируемся на стандарты кодирования Alibaba для Java. Позже я подготовлю подробное руководство по применению стандартов в этом проекте.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )