SerieRepository
SerieRepository
Oii Jonnathy.
Entendo que a explicação sobre o SerieRepository
possa ter ficado um pouco confusa. Vou tentar simplificar.
SerieRepository
?O SerieRepository
é uma interface que estende o JpaRepository
. Isso significa que ela herda vários métodos prontos para realizar operações básicas de CRUD (Create, Read, Update, Delete) no banco de dados.
SerieRepository
?SerieRepository
:package br.com.alura.screenmatch.repository;
import br.com.alura.screenmatch.model.Serie;
import org.springframework.data.jpa.repository.JpaRepository;
public interface SerieRepository extends JpaRepository<Serie, Long> {
}
JpaRepository<Serie, Long>
: Aqui, Serie
é a entidade que estamos manipulando e Long
é o tipo do ID da entidade.SerieRepository
?Pra usar o SerieRepository
, precisamos injetá-lo em uma classe gerenciada pelo Spring. Isso é feito através da Injeção de Dependência com a anotação @Autowired
.
SerieRepository
na sua classe principal:import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ScreenmatchApplication implements CommandLineRunner {
@Autowired
private SerieRepository repositorio;
public static void main(String[] args) {
SpringApplication.run(ScreenmatchApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
// Exemplo de uso do repositorio para salvar uma série
Serie serie = new Serie();
serie.setTitulo("Gilmore Girls");
repositorio.save(serie);
// Exemplo de uso do repositorio para buscar todas as séries
List<Serie> series = repositorio.findAll();
series.forEach(System.out::println);
}
}
@Autowired
: O Spring injeta automaticamente uma instância do SerieRepository
na variável repositorio
.repositorio.save(serie)
: Salva uma nova série no banco de dados.repositorio.findAll()
: Recupera todas as séries do banco de dados.SerieRepository
?O SerieRepository
é uma interface, e interfaces não podem ser instanciadas diretamente. O Spring cria automaticamente uma implementação dessa interface e a injeta onde for necessário, graças à Injeção de Dependência.
Espero ter ajudado.
Um abraço e bons estudos.