Camadas de serviço CRUD
Implemente uma camada de serviço que forneça operações CRUD para entidades.
Camadas de serviço CRUD é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 3 aulas no total.
Introdução
A camada de serviço fica entre o controlador e o repositório. Ela centraliza a lógica de negócio.
Código: entidade User
Continuaremos com a entidade User definida anteriormente.
import jakarta.persistence.*;@Entity
public class User {
@Id @GeneratedValue
private Long id;
private String name;
// getters/setters omitted
}
Código: CRUD do serviço
O serviço encapsula as chamadas ao repositório e adiciona regras de negócio quando necessário.
import org.springframework.stereotype.Service;import java.util.*;
@Service
public class UserService {
private final UserRepository repo;
public UserService(UserRepository repo) { this.repo = repo; }
public List<User> all() { return repo.findAll(); }
public User add(User u) { return repo.save(u); }
public Optional<User> find(Long id) { return repo.findById(id); }
public void delete(Long id) { repo.deleteById(id); }
}
Código: controlador com serviço
Agora o controlador chama o serviço, em vez de chamar o repositório diretamente.
import org.springframework.web.bind.annotation.*;import java.util.*;@RestController
@RequestMapping("/users")
public class UserController {
private final UserService service;
public UserController(UserService service) { this.service = service; }
@GetMapping
public List<User> all() { return service.all(); }
@PostMapping
public User add(@RequestBody User u) { return service.add(u); }
@GetMapping("/{id}")
public User one(@PathVariable Long id) { return service.find(id).orElse(null); }
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) { service.delete(id); }
}
Benefícios
Benefícios: controladores mais limpos, lógica reutilizável, testes mais fáceis e arquitetura mais clara.
Uso
Teste os pontos de acesso: POST /users, GET /users, GET /users/{id}, DELETE /users/{id}.
Verificação da camada de serviço
Verificação rápida: por que uma camada de serviço é útil no Spring Boot?
Recapitulação
Recapitulação: uma camada de serviço com CRUD foi criada, ela foi utilizada em um controlador e os benefícios da separação foram observados.
Perguntas Frequentes
A aula “Camadas de serviço CRUD” é grátis?
Sim — o texto completo de “Camadas de serviço CRUD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 3 aulas no total.
O que vou aprender em “Camadas de serviço CRUD”?
Implemente uma camada de serviço que forneça operações CRUD para entidades. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.
Quanto tempo leva a aula “Camadas de serviço CRUD”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- JPA/H2 e repositórios
- Camadas de serviço CRUD
- Tratamento de erros e orientação