Introdução
Spring Boot API Project Seed é um projeto inicial baseado em Spring Boot e MyBatis. Ele é usado para construir rapidamente projetos de API e API RESTful de pequeno e médio porte. rápido, permitindo-nos livrar-nos de tarefas repetitivas, concentrar-nos em escrever código de negócios e reduzir horas extras. A seguir está uma demonstração de uso simples para ver como implementar uma API simples em apenas algumas dezenas de segundos com base neste projeto e executá-la para fornecer serviços.
Recursos e ofertas
- Estrutura de projeto de práticas recomendadas, arquivos de configuração, POM simplificado (ver diagrama de estrutura do projeto)
- Ferramentas de geração e empacotamento de resultados de resposta unificada
- Tratamento unificado de exceções
- Autenticação de assinatura de interface simples
- Encapsulamento abstrato de métodos básicos comumente usados
- Use o Druid Spring Boot Starter para integrar o pool de conexões e o monitoramento do banco de dados Druid
- Use FastJsonHttpMessageConverter para melhorar a velocidade de serialização JSON
- Integre MyBatis, plug-in universal Mapper e plug-in de paginação PageHelper para obter SQL zero para negócios de tabela única
- Um gerador de código é fornecido para gerar códigos básicos correspondentes, como Model, Mapper, MapperXML, Service, ServiceImpl e Controller com base no nome da tabela. O modelo Controller fornece dois conjuntos de POST e RESTful por padrão. no método
CodeGenerator.genController(tableName)
O modelo POST é usado por padrão. Os modelos de código podem ser expandidos de acordo com as necessidades dos projetos reais. Como o negócio de cada empresa é diferente, fornecemos apenas alguns modelos relativamente básicos e comuns. O objetivo principal é fornecer uma ideia para reduzir a escrita de código repetido. Em uso, um grande número de modelos é escrito com base na abstração dos negócios da empresa. Além disso, o uso de modelos também pode ajudar a manter o estilo de codificação da equipe unificado. - Também há ovos de Páscoa esperando para você explorar
início rápido
- Clonar projeto
- Configure o gerador de código
CodeGenerator
no pacote test
, principalmente JDBC, pois o código precisa ser gerado com base no nome da tabela - Se você quiser apenas experimentar com base na demonstração acima, você pode usar
demo-user.sql
no diretório test resources
, caso contrário, ignore esta etapa - Insira o nome da tabela e execute
CodeGenerator.main()
para gerar o código básico (pode ser necessário atualizar o diretório do projeto para sair) - Expanda o código básico de acordo com o negócio
- Configure o arquivo de configuração do ambiente de desenvolvimento
application-dev.properties
, inicie o projeto, divirta-se!
Sugestões de desenvolvimento
- Para nomes de tabelas, é recomendado usar letras minúsculas. Use sublinhados para unir várias palavras.
- Recomenda-se que as variáveis de membro no modelo correspondam ao número de campos da tabela. Se você precisar estender as variáveis de membro (como conectar consultas de tabela), é recomendável criar um DTO. Caso contrário, será necessário adicionar
@Transient
Anotação @Transient
para as variáveis de membro estendidas Para obter detalhes, consulte a documentação geral do plug-in Mapper. - Recomenda-se que a falha de serviço seja lançada diretamente usando
ServiceException("message")
, e o processador de exceção unificado encapsulará o resultado da resposta da falha de negócios, como throw new ServiceException("该手机号已被注册")
, que irá ser encapsulado diretamente como {"code":400,"message":"该手机号已被注册"}
retorna, não há necessidade de lidar com isso sozinho, apenas jogue-o o quanto quiser - Se você precisar de classes de ferramentas, é recomendável encontrá-las primeiro em
apache-commons-*
e guava
. Realmente não há necessidade de reinventar a roda ou introduzir bibliotecas de classes e tentar agilizar o projeto tanto quanto possível. - Recomenda-se que as especificações de desenvolvimento sigam o Manual de Desenvolvimento Java do Alibaba (baixe a versão mais recente)
- Recomenda-se usar ShowDoc, SpringFox-Swagger2, RAP e outros projetos de código aberto dentro da empresa para escrever e gerenciar documentos API
Seleção e documentação de tecnologia
- Spring Boot (veja o guia de aprendizado e uso do Spring Boot)
- MyBatis (ver documentação oficial chinesa)
- Plug-in universal Mapper MyBatisb (consulte a documentação oficial chinesa)
- Plug-in de paginação MyBatis PageHelper (consulte a documentação oficial em chinês)
- Druid Spring Boot Starter (veja a documentação oficial chinesa)
- Fastjson (veja a documentação oficial chinesa)
- Outros ligeiramente
Licença
Nenhum, compartilhamento puramente de código aberto, obrigado a todos Star & Fork pelo seu apoio.