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