Sobes.tech
Junior

Que tarefas resolveste usando Spring?

sobes.tech IA

Resposta da IA

Desenvolvi serviços REST:

  • Usei Spring Boot para configuração e arranque rápidos.
  • Criei controladores com @RestController e @GetMapping, @PostMapping e outras anotações para lidar com pedidos HTTP.
  • Apliquei Spring Data JPA para simplificar o trabalho com bases de dados, usando repositórios.
  • Validei dados de entrada com @Valid e anotações da API Bean Validation.

Trabalhei com bases de dados:

  • Configurei ligações a PostgreSQL e MySQL usando HikariCP.
  • Escrevi consultas com JpaRepository e SQL nativo com Spring Data JPA.
  • Implementei transações com @Transactional.

Injetei dependências:

  • Usei ativamente o contêiner IoC do Spring para gerir o ciclo de vida dos beans e a injeção de dependências através de @Autowired e construtores.

Gerenciei exceções:

  • Criei gestores globais de exceções com @ControllerAdvice e @ExceptionHandler.

Trabalhei com segurança:

  • Integrei Spring Security para autenticação e autorização de utilizadores, configurando filtros e regras de acesso.

Escrevi testes unitários e de integração:

  • Usei Spring Boot Test e Mockito para testar controladores, serviços e repositórios.

Exemplo de uso de JpaRepository:

// UserRepository.java
package com.example.repository;

import com.example.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    // Spring Data JPA cria automaticamente a implementação para este método
    User findByEmail(String email);
}