O que é o Spring Boot?
O Spring Boot é um framework Java que facilita a criação de aplicações Spring, eliminando configurações complexas e proporcionando um ambiente pronto para produção.
Principais Anotações do Spring Boot
O Spring Boot fornece várias anotações para facilitar o desenvolvimento. Aqui estão algumas das principais:
@SpringBootApplication
Esta anotação é usada para marcar a classe principal do aplicativo e ativar várias configurações automáticas.
@SpringBootApplication
public class MeuAplicativo {
public static void main(String[] args) {
SpringApplication.run(MeuAplicativo.class, args);
}
}
@RestController
Define uma classe como um controlador REST, permitindo o uso de endpoints HTTP.
@RestController
@RequestMapping("/api")
public class MeuController {
@GetMapping("/hello")
public String hello() {
return "Olá, Spring Boot!";
}
}
@Autowired
Usada para injetar automaticamente dependências do Spring.
@Service
public class MeuServico {
public String obterMensagem() {
return "Serviço funcionando!";
}
}
@RestController
@RequestMapping("/api")
public class MeuController {
@Autowired
private MeuServico meuServico;
@GetMapping("/mensagem")
public String mensagem() {
return meuServico.obterMensagem();
}
}
@Component
Transforma uma classe em um componente gerenciado pelo Spring.
@Component
public class MeuComponente {
public String saudacao() {
return "Olá do componente!";
}
}
@Service
Especifica que a classe representa um serviço na camada de negócios.
@Service
public class MeuServico {
public String processarDados() {
return "Processando dados...";
}
}
@Repository
Define um repositório para acessar banco de dados.
@Repository
public interface MeuRepositorio extends JpaRepository<Entidade, Long> {
}
@Entity
Usada para definir uma entidade que será mapeada para uma tabela do banco de dados.
@Entity
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
}
@RequestMapping
Define o caminho de um controlador.
@RestController
@RequestMapping("/usuarios")
public class UsuarioController {
@GetMapping
public String listarUsuarios() {
return "Listando usuários...";
}
}
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping
Definem métodos HTTP específicos para os endpoints.
@RestController
@RequestMapping("/produtos")
public class ProdutoController {
@GetMapping
public String listar() {
return "Lista de produtos";
}
@PostMapping
public String criar() {
return "Produto criado";
}
@PutMapping("/{id}")
public String atualizar(@PathVariable Long id) {
return "Produto atualizado: " + id;
}
@DeleteMapping("/{id}")
public String deletar(@PathVariable Long id) {
return "Produto deletado: " + id;
}
}