DP
На основе проекта dp-pro используется новое взаимодействие, оптимизирован код, и объединён в модуль управления backend, что делает его удобным для разработки и интеграции с frontend и middleware. Функционал проекта аналогичен dp-pro и включает управление правами доступа, данными, переключение между несколькими источниками данных, распределённое управление сессиями, генератор кода, проверку данных на серверной стороне и другие функции.### Ссылки
Описание проекта
- Легкий Java-фреймворк быстрой разработки, который позволяет быстро создавать и внедрять проекты
- Дружественная структура кода и комментарии, что облегчает чтение и повторное использование, а также правила названий и разделения проекта следуют стандартам разработки Java от Alibaba
- Упаковано взаимодействие front-end и back-end, позволяющее быстро реализовать CRUD-разработку
- Поддерживает генерацию части кода через шаблоны Velocity, которые могут быть сразу установлены в путь проекта без необходимости повторной установки (см. документацию)
- Базируется на ролевой модели управления правами доступа, которая детализирует до кнопочных прав и прав данных
- Базируется на модульной разработке Maven, что позволяет быстро расширять личные бизнес-модули
- По умолчанию использует многостраничную систему tab-элементов
- Поддерживает распределенное управление сессиями, что позволяет использовать кластерную конфигурацию
- Поддерживает разделение чтения и записи базы данных, а также динамическое переключение источников данных- Поддерживает вторичное кэширование MyBatis-EhCache
- Интегрированы общие компоненты разработки, такие как Select2, Switchery и компоненты богатого текстового содержимого### Расширение проекта
- Реализация динамического select-контроллера на основе системы управления параметрами
- Реализация загрузки файлов на основе ajaxfileupload.js
Техническое решение
- Основной фреймворк: Spring
- Веб-фреймворк: Spring MVC
- Фреймворк ORM: MyBatis
- Кэш-фреймворк: EhCache, Redis
- Управление сессиями: Spring Session
- Безопасность: Shiro
- Шаблонизатор: Thymeleaf [вьювер], Velocity [генератор кода] (поддерживает Freemarker, JSP и другие пользовательские вьюшки)
- Фреймворк админ-панели: AdminLTE (Bootstrap)
- Фреймворк JavaScript: Vue.js
- Таблицы: Bootstrap Table (интегрирована пагинация и переход между страницами)
- Деревья таблиц: Tree Grid (расширение Bootstrap)
- Деревья: ZTree
- Модальные окна: Layer
- Валидация форм: Validator
- Компоненты дат: LayDate
- Компонент выбора списка: Select2
- Компоненты переключателей: Switchery
- Редакторы富文本组件:WangEditor
- 后端验证:Fluent-Validator
- 接口管理:Swagger-UI
Проектная структура
- dp-pro: родительский (агрегирующий) модуль
- dp-common: общий модуль
- dp-admin: модуль административной панели
Общение и обратная связь
- Проектная документация: http://dp-dev.mydoc.io/, руководство по вторичному развитию см. раздел 3.4
- Группа общения QQ: [полностью заполнена], номер группы DingTalk: 23119937
- Если вас заинтересовал проект, пожалуйста, следите за ним и добавьте звезду, мы будем регулярно выпускать обновления.
Название методов (на основе руководства Java от Alibaba)
- Методы получения одного объекта должны начинаться с префикса
get
- Методы получения нескольких объектов должны начинаться с префикса
list
- Методы получения статистических значений должны начинаться с префикса
count
- Методы вставки данных рекомендуются использовать префикс
save
(или insert
)
- Методы удаления данных рекомендуются использовать префикс
remove
(или delete
)
- Методы обновления данных должны начинаться с префикса
update
Уровни приложения (на основе руководства Java от Alibaba)
На основе dp-pro упрощается уровень manager, используются обычные уровни dao, service и controller для более быстрого привыкания к структуре проекта.
Пример работы проекта
- Адрес демонстрации: пожалуйста, скачайте исходный код и запустите локально
- Логин/пароль: admin / 1
Эффект выполнения
