notas inteligentes de uso do springboot

Primeiro, me referi a esta postagem no blog.

https://blog.csdn.net/valada/article/details/80892573

O que é o Spring Boot

A declaração oficial é:

Spring Boot é uma nova estrutura baseada no Spring, fornecida pela equipe Pivotal, cujo objetivo de design é simplificar o processo de construção e desenvolvimento de aplicativos Spring. A estrutura segue o princípio "a convenção é maior que a configuração" e usa uma maneira específica de configurar, para que os desenvolvedores não precisem definir um grande número de configurações XML. Dessa forma, a Spring Boot está comprometida em se tornar um líder no campo de desenvolvimento rápido de aplicativos em expansão

Como os indivíduos usam a estrutura do Spring há 14 anos, antes de o Spring nascer, eles sabiam que o arquivo de configuração era complicado e cansativo.

Em uma palavra: o springboot libera nosso arquivo de configuração e concentra mais tempo na implementação de negócios. Construção de projeto simplificada, tomcat embutido.

Além das vantagens acima, o springboot tem outras vantagens, veja abaixo.

1. A configuração do banco de dados, o limite de tamanho do upload de arquivos etc. pode ser definida por meio do application.properties.

2. É conveniente para a nossa operação de embalagem, este é o ponto chave.

   Como eu costumava empacotar várias definições de configuração em application.properties, comente ou solte manualmente para atingir o objetivo, fácil de cometer erros. Por exemplo, há um ambiente de desenvolvimento, um ambiente de teste e um ambiente de produção. A configuração de diferentes arquivos de configuração de acordo com o servidor publicado é diferente. Então este é o ponto.

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境名字,比如:

application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境

至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

 

Por exemplo, o seguinte é meu.

Basta escrever a configuração do ambiente diferente em cada arquivo de configuração.

3. Variáveis ​​globais podem ser definidas

@Value

Em circunstâncias normais, precisamos definir algumas variáveis ​​globais.A maneira como pensaremos é definir uma variável estática pública e chamá-la quando necessário.Existem outras soluções melhores? A resposta é sim. Como segue:

@Value("${spring.profiles.active}")    
String active;

spring.profiles.active é definida em application.properties dentro de nossa propriedade, nós podemos personalizar qualquer nome de atributo, por @Valueanotação pode ser retirado.

Seus benefícios são os seguintes:

    1.定义在配置文件里,变量发生变化,无需修改代码。
    2.变量交给Spring来管理,性能更好。

4.springboot pode gerenciar interceptores

Crie uma classe de interceptador: ApiInterceptor e implemente a interface HandlerInterceptor

public class ApiInterceptor implements HandlerInterceptor {
    //请求之前    
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        System.out.println("进入拦截器");
        return true;
    }

    //请求时   
    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
    }

    //请求完成    
    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
    }
}

@SpringBootConfiguration A classe anotada herda a classe WebMvcConfigurationSupport e reescreve o método addInterceptors para adicionar a classe de interceptador ApiInterceptor.O código é o seguinte:

@SpringBootConfigurationpublic
class WebConfig extends WebMvcConfigurationSupport {
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        super.addInterceptors(registry);
        registry.addInterceptor(new ApiInterceptor());
    }
}

A estrutura do interceptador springboot foi escrita, e a implementação específica dos negócios formará o cérebro por si só.

 

5. Tratamento de exceções

Pode se referir a:

https://www.cnblogs.com/xuwujing/p/10933082.html

O projeto SpringBoot lidou com certas exceções, mas pode não ser adequado para nossos desenvolvedores, portanto, precisamos capturar e manipular essas exceções de maneira uniforme. Há uma ControllerAdviceanotação no SpringBoot . O uso dessa anotação significa que a captura de exceções globais está ativada. Só precisamos usar uma ExceptionHandleranotação em um método personalizado e depois definir o tipo de exceção capturada para lidar com essas exceções capturadas de maneira uniforme.


@ControllerAdvice //全局异常补获
public class MyExceptionHandler {

    @ExceptionHandler(value =Exception.class)
    public String exceptionHandler(Exception e){
        System.out.println("未知异常!原因是:"+e);
        return e.getMessage();
    }
}

Não vou entrar em detalhes aqui. Você pode consultar o artigo deste blogueiro, que é muito bom.

6. Teste de Unidade

@SpringBootTest(classes = DemoApplication.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class TestDB {
    @Test
    public void test() {
    }
}

O acima é apenas uma estrutura simples para teste de unidade, consulte:

https://blog.csdn.net/sz85850597/article/details/80427408

Você terminou aqui.

 


 

Publicado 51 artigos originais · Gosto 4 · Visitante 7901

Acho que você gosta

Origin blog.csdn.net/u012174809/article/details/103023726
Recomendado
Clasificación