Введение
Spring Boot API Project Seed — это исходный проект, основанный на Spring Boot и MyBatis. Он используется для быстрого создания небольших и средних проектов API и RESTful API. Этот исходный проект применялся во многих реальных проектах. Он стабилен, прост и надежен. быстро, что позволяет нам избавиться от повторяющихся задач: сосредоточьтесь на написании бизнес-кода и сократите сверхурочную работу. Ниже приведена простая демонстрация использования, позволяющая увидеть, как всего за несколько десятков секунд реализовать простой API на основе этого проекта и запустить его для предоставления услуг.
Особенности и предложения
- Структура проекта на основе лучших практик, файлы конфигурации, оптимизированный POM (см. схему структуры проекта)
- Унифицированные инструменты упаковки и генерации результатов ответа
- Единая обработка исключений
- Простая аутентификация подписи интерфейса
- Абстрактная инкапсуляция часто используемых базовых методов
- Используйте Druid Spring Boot Starter для интеграции пула подключений к базе данных Druid и мониторинга.
- Используйте FastJsonHttpMessageConverter для повышения скорости сериализации JSON.
- Интегрируйте MyBatis, универсальный подключаемый модуль Mapper и подключаемый модуль подкачки страниц PageHelper, чтобы добиться отсутствия SQL для бизнеса с одной таблицей.
- Предоставляется генератор кода для создания соответствующих базовых кодов, таких как Model, Mapper, MapperXML, Service, ServiceImpl и Controller, на основе имени таблицы. Шаблон Controller по умолчанию предоставляет два набора POST и RESTful. в методе
CodeGenerator.genController(tableName)
По умолчанию используется шаблон POST. Шаблоны кода можно расширять в соответствии с потребностями реальных проектов. Поскольку бизнес каждой компании различен, мы предоставляем только некоторые относительно базовые и распространенные шаблоны. Основная цель — предложить идею сокращения написания повторяющегося кода в реальных проектах. I При использовании большое количество шаблонов фактически написано на основе абстракции бизнеса компании. Кроме того, использование шаблонов может помочь сохранить единый стиль кодирования команды. - Вас также ждут пасхальные яйца.
быстрый старт
- Клонировать проект
- Настройте генератор кода
CodeGenerator
в test
пакете, в основном JDBC, поскольку код необходимо генерировать на основе имени таблицы. - Если вы просто хотите попробовать это самостоятельно на основе приведенной выше демонстрации, вы можете использовать
demo-user.sql
в каталоге test resources
, в противном случае проигнорируйте этот шаг. - Введите имя таблицы, запустите метод
CodeGenerator.main()
для генерации базового кода (возможно, вам придется обновить каталог проекта, чтобы он появился). - Расширьте базовый код в соответствии с бизнесом
- Настройте файл конфигурации среды разработки
application-dev.properties
, запустите проект и получайте удовольствие!
Предложения по развитию
- В именах таблиц рекомендуется использовать строчные буквы. Для объединения нескольких слов используйте символы подчеркивания.
- Рекомендуется, чтобы переменные-члены в модели соответствовали количеству полей таблицы. Если вам нужно расширить переменные-члены (например, подключить запросы к таблице), рекомендуется создать DTO. В противном случае вам необходимо добавить
@Transient
аннотация к расширенным переменным-членам. Подробную информацию см. в общей документации подключаемого модуля Mapper. - Рекомендуется, чтобы сбой службы вызывался напрямую с помощью
ServiceException("message")
, а единый обработчик исключений инкапсулирует результат ответа о сбое бизнеса, например, throw new ServiceException("该手机号已被注册")
, который будет быть напрямую инкапсулирован как {"code":400,"message":"该手机号已被注册"}
возвращает, не нужно обрабатывать его самостоятельно, просто кидайте его сколько угодно - Если вам нужны классы инструментов, рекомендуется сначала найти их в
apache-commons-*
и guava
. На самом деле нет необходимости изобретать велосипед или вводить библиотеки классов. Попробуйте оптимизировать проект. - В спецификациях разработки рекомендуется следовать Руководству по разработке Java на Alibaba (загрузите последнюю версию).
- Для написания документов API и управления ими рекомендуется использовать ShowDoc, SpringFox-Swagger2, RAP и другие проекты с открытым исходным кодом внутри компании.
Выбор технологий и документация
- Spring Boot (см. руководство по обучению и использованию Spring Boot)
- MyBatis (просмотреть официальную китайскую документацию)
- Универсальный плагин MyBatisb Mapper (см. официальную китайскую документацию)
- Плагин подкачки MyBatis PageHelper (см. официальную документацию на китайском языке)
- Druid Spring Boot Starter (см. официальную китайскую документацию)
- Fastjson (см. официальную китайскую документацию)
- Другие слегка
Лицензия
Нет, чисто открытый исходный код, спасибо всем Star & Fork за вашу поддержку.