Introducción
Spring Boot API Project Seed es un proyecto semilla basado en Spring Boot y MyBatis. Se utiliza para construir rápidamente proyectos API pequeños y medianos y API RESTful. Este proyecto semilla se ha practicado en muchos proyectos reales. rápido, lo que nos permite deshacernos de esas tareas repetitivas, centrarnos en escribir código comercial y reducir las horas extras. La siguiente es una demostración de uso simple para ver cómo implementar una API simple en solo unas pocas docenas de segundos basada en este proyecto y ejecutarla para brindar servicios.
Características y ofertas
- Estructura de proyecto de mejores prácticas, archivos de configuración, POM optimizado (ver diagrama de estructura del proyecto)
- Herramientas de generación y empaquetado de resultados de respuesta unificada
- Manejo unificado de excepciones
- Autenticación de firma de interfaz simple
- Encapsulación abstracta de métodos básicos de uso común.
- Utilice Druid Spring Boot Starter para integrar el monitoreo y el grupo de conexiones de la base de datos de Druid
- Utilice FastJsonHttpMessageConverter para mejorar la velocidad de serialización JSON
- Integre MyBatis, el complemento universal Mapper y el complemento de paginación PageHelper para lograr SQL cero para negocios de una sola tabla
- Se proporciona un generador de código para generar los códigos básicos correspondientes, como Modelo, Mapper, MapperXML, Servicio, ServiceImpl y Controlador según el nombre de la tabla. La plantilla del Controlador proporciona dos conjuntos de POST y RESTful de forma predeterminada. en el método
CodeGenerator.genController(tableName)
La plantilla POST se utiliza de forma predeterminada. Las plantillas de código se pueden ampliar según las necesidades de los proyectos reales. Dado que el negocio de cada empresa es diferente, solo proporcionamos algunas plantillas relativamente básicas y comunes. El objetivo principal es proporcionar una idea para reducir la escritura de código repetido. I En uso, una gran cantidad de plantillas se escriben en función de la abstracción del negocio de la empresa. Además, el uso de plantillas también puede ayudar a mantener unificado el estilo de codificación del equipo. - También hay huevos de Pascua esperando que los explores.
inicio rápido
- Clonar proyecto
- Configure el generador de código
CodeGenerator
en el paquete test
, principalmente JDBC, porque el código debe generarse en función del nombre de la tabla. - Si solo desea probarlo usted mismo según la demostración anterior, puede usar
demo-user.sql
en el directorio test resources
; de lo contrario, ignore este paso. - Ingrese el nombre de la tabla, ejecute
CodeGenerator.main()
para generar código básico (es posible que deba actualizar el directorio del proyecto para que salga) - Ampliar el código básico según el negocio.
- Configure el archivo de configuración del entorno de desarrollo
application-dev.properties
, inicie el proyecto, ¡diviértase!
Sugerencias de desarrollo
- Para los nombres de las tablas, se recomienda utilizar letras minúsculas. Utilice guiones bajos para unir varias palabras.
- Se recomienda que las variables miembro en el modelo correspondan al número de campos de la tabla. Si necesita ampliar las variables miembro (como consultas de tablas conectadas), se recomienda crear un DTO. De lo contrario, debe agregar
@Transient
Anotación @Transient
a las variables miembro extendidas. Para obtener más información, consulte la documentación general del complemento Mapper. - Se recomienda que la falla del servicio se genere directamente usando
ServiceException("message")
, y el procesador de excepciones unificado encapsulará el resultado de la respuesta de la falla comercial, como throw new ServiceException("该手机号已被注册")
, que se encapsula directamente como {"code":400,"message":"该手机号已被注册"}
devuelve, no es necesario que lo maneje usted mismo, solo tírelo tanto como desee - Si necesita clases de herramientas, se recomienda buscarlas primero en
apache-commons-*
y guava
. Realmente no es necesario reinventar la rueda ni introducir bibliotecas de clases. - Se recomienda que las especificaciones de desarrollo sigan el Manual de desarrollo de Java de Alibaba (descargue la última versión)
- Se recomienda utilizar ShowDoc, SpringFox-Swagger2, RAP y otros proyectos de código abierto dentro de la empresa para escribir y administrar documentos API.
Selección de tecnología y documentación
- Spring Boot (ver la guía de uso y aprendizaje de Spring Boot)
- MyBatis (ver documentación oficial china)
- Complemento MyBatisb universal Mapper (consulte la documentación oficial china)
- Complemento de paginación MyBatis PageHelper (consulte la documentación oficial china)
- Druid Spring Boot Starter (consulte la documentación oficial china)
- Fastjson (ver documentación oficial china)
- Otros ligeramente
Licencia
Ninguno, intercambio puramente de código abierto, gracias a todos Star & Fork por su apoyo.