ApiBoot é uma solução de destino para serviços de interface. Ele fornece uma série de componentes prontos para uso e simplifica a integração de estruturas convencionais de terceiros por meio de encapsulamento, melhorando assim a eficiência do desenvolvimento do desenvolvedor, os custos de aprendizagem, reduzindo as barreiras de entrada e verdadeiramente. realizando funcionalidade pronta para uso.
Os desenvolvedores com uma compreensão simples do SpringBoot podem escrever serviços de interface seguros e estáveis, que podem fornecer interfaces de segurança avançadas para vários terminais, como terminais móveis e páginas da web.
ApiBoot depende do SpringBoot e você pode usar o ApiBoot para construir aplicativos Java independentes.
Para o uso de componentes, verifique a documentação de referência oficial. Para começar, visite o primeiro aplicativo ApiBoot.
Se você estiver usando Maven para construir o projeto, será necessário adicionar a dependência de solidificação do ApiBoot ao seu arquivo pom.xml, conforme mostrado abaixo
Nota: lastVersion precisa ser substituído pelo ApiBoot mais recente, visite Dependencies-2 para visualizar.
Depois que as dependências forem adicionadas, podemos adicionar os componentes ApiBoot necessários no projeto. A seguir está um exemplo de uso do componente de link distribuído minbox-logging.
Após adicionar o componente, podemos encontrar o documento do componente correspondente de acordo com o documento oficial de referência para configuração e uso.
A construção do código-fonte do ApiBoot usa vários módulos. Aqui está uma visão geral rápida.
inicialização da API
O módulo api-boot é o diretório raiz para compilar todo o projeto. Os recursos fornecidos são os seguintes:
Fornece configuração de revisão unificada para o projeto
Disponibilizar plug-ins públicos (flatten, cobertura...) utilizados na compilação do projeto
Forneça a configuração do armazém Maven usada ao compilar o projeto
JDK compilado por projeto unificado
api-boot-autoconfigure
api-boot-autoconfigure é o módulo principal mais importante. Ele fornece classes de configuração automática para todos os componentes. Ele é totalmente baseado nas anotações de julgamento condicional fornecidas pelo SpringBoot. Ele está localizado no diretório resources/META-INF e também fornece configuração adicional. parâmetros. Arquivo de conteúdo de definição de metadados: adicional-spring-configuration-metadata.json O conteúdo de saída do banner que vemos quando o projeto é habilitado também está localizado neste módulo.
dependências de inicialização da API
A função deste módulo é consistente com as dependências do spring-boot. Todos eles são projetados para solidificar os números de dependência usados no projeto, para que possamos atualizar bem uma determinada dependência ao construir o projeto, e não mais nos preocuparmos com a incompatibilidade entre eles. vários problemas de dependências.
api-boot-pai
Este módulo herda de dependências de inicialização da API e pode usar diretamente as dependências solidificadas. É uma dependência pai unificada para construir outros módulos.
api-boot-starters
Este módulo define as dependências específicas do Starter usadas no processo de desenvolvimento. As dependências do Starter não contêm nenhum código de estrutura, apenas um arquivo pom.xml A implementação específica da configuração automatizada e a integração específica de terceiros estão localizadas em: api-boot-In. os módulos autoconfigure e api-boot-plugins.
O método de uso é consistente com spring-boot-starter-xxx. Por exemplo: para integrar o componente de limitação de corrente no projeto, só precisamos adicionar a dependência api-boot-starter-rate-limiter em pom.xml. não há necessidade de adicioná-lo porque já foi. As dependências são solidificadas através do módulo api-boot-dependencies.
ferramentas de inicialização api
Este módulo definirá algumas classes de ferramentas comumente usadas, como ApplicationContext, BeanFactory, etc.
Este módulo também é configurado automaticamente pelo api-boot-autoconfigure, e algumas classes de ferramentas são registradas automaticamente no IOC.