SerieRepository
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.