Java Interfacedeki kodu nasıl çağırılıyor?

yasinbmt00

Centipat
Katılım
18 Temmuz 2022
Mesajlar
130
Daha fazla  
Cinsiyet
Erkek
Java:
public interface StudentDAO {



void save(Student student);



Student findById(Integer id);

}





burdaki findByID yi StudentDAOImpl diye baska bir classda yazdim.



private void readStudent(StudentDAO studentDAO){

Student student = studentDAO.findById(1);

System.out.println(student);

}



public CommandLineRunner commandLineRunner(StudentDAO studentDAO){

 return runner-> {



readStudent(studentDAO);

    };

}

Bu fonksiyon calisti ama. Spring ogrenme asamasindayim, interfaceden nasıl fonksiyonu cagirabiliyorum? Java onu anliyor mu? Yoksa Spring ozelligi mi?
 
Son düzenleyen: Moderatör:
Daha önce herhangi bir dilde interfaceler ile çalışmadıysanız onun mantığını (oop) öğrenmeniz lazım önce, laaps diye böyle giremezsiniz mevzuya. Biliyorum diyorsanız, daha önce interfaceler ile çalıştıysanız normalde nesne yaratma vb. işlemleri yerine spring containerı beanleri nasıl control ediyor onu öğrenmelisiniz. Zaten bu kodları bir tutorialden vb. aldıysanız orada az çok anlatıyordur neyin nasıl olduğunu.

Ben bir şey öğrenmek istemiyorum diyorsanız şöyle yapın geçin

elinizde bu interface var
public interface StudentDAO {...

onun bir implementasyonu sınıf var
public class StudentDAOImpl{...

A servisinden methodu çağırmak istiyorsanız, en temel haliyle şöyle örnek vereyim, a servisinin yukarılarına bir yerine autowired eklersiniz yani

@Service
public class AService{

@Autowired
private StudentDAO studentDAOImpl;

yazarsınız,

daha sonra A servisinde methodu çağırmak istediğinizde

Student s = studentDAOImpl.findByID(999);

gibi kodu çağırabilirsiniz. Bu senaryoda; spring, autowired annotationu ile ilgili beani bulur.
 

Geri
Yukarı