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 @Value
anotaçã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 ControllerAdvice
anotação no SpringBoot . O uso dessa anotação significa que a captura de exceções globais está ativada. Só precisamos usar uma ExceptionHandler
anotaçã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.