Guia de Integrações com SpringBoot

O SpringBoot inclui o Tomcat embutido, que é gerenciado como um bean no contêiner Spring. Para uma alternativa mais leve e com menor consumo de recursos, pode-se optar pelo servidor Jetty.


<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

Integração com Mybatis-Plus

Ao cofnigurar um projeto SpringBoot, utilize o gerador em https://start.aliyun.com ou adicione manualmente a dependência do MyBatis-Plus.


<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

Configuração no application.yml para definir um prefixo de tabela:


mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_

Integração com Druid

Para habilitar o pool de conexões Druid, adicione o starter correspondente e configure as propriedades no arquivo YAML.

Abordagem reocmendada utilizando a chave druid dentro de spring.datasource:


spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/banco_dados
      username: usuario_exemplo
      password: senha_segura
      initial-size: 10
      min-idle: 5
      max-active: 30
      max-wait: 120000
      validation-query: SELECT 1
      test-while-idle: true

Detalhes adicionais podem ser encotnrados na documentação oficial do Druid.

Integração com JUnit

Para testes em SpringBoot, utilize o starter de teste e anote a classe de teste com @SpringBootTest. Se a classe de teste estiver no mesmo pacote ou subpacote da classe principal com @SpringBootConfiguration, não é necessário especificar parâmetros adicionais.


<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>


@SpringBootTest
class ExemploTeste {

    @Autowired
    private ServicoExemplo servico;

    @Test
    void testarMetodo() {
        servico.executar();
    }
}

Para testes em pacotes diferentes, indique a classe de aplicação explicitamente: @SpringBootTest(classes = AplicacaoPrincipal.class).

Integração com Mybatis

Ao utilizar o Mybatis com SpringBoot, adicione as dependências necessárias. Para versões do SpringBoot anteriores a 2.4.3 com drivers MySQL acima de 8.0, inclua o fuso horário na URL de conexão.


<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

Exemplo de configuração com datasource Druid:


spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/base_teste?serverTimezone=UTC
    username: admin
    password: admin123
    type: com.alibaba.druid.pool.DruidDataSource

Tags: SpringBoot Jetty MyBatis-Plus Druid JUnit

Publicado em 6-5 20:16 por Thomas