Spring에서 사용되는 IoC란 객체가
내부적으로 조작할 객체를 직접 생성하지 않고 외부로부터 주입받는 기법을 의미한다.
이때, 객체를 외부로부터 주입해주는 작업을 DI(의존성 주입)이라고 부른다.
IoC (Inversion of Controll) 이란 "역전의 제어", 주도권은 스프링이 가진다는 의미이다. 한 마디로 "제어의 흐름을 바꾼다" 라고 이해할 수 있다.
구조 : 스프링이 수많은 오브젝트들을 직접 컨트롤한다.
객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 한다.
프로그램을 만들기(프로그래밍) 위한 인터페이스라 볼 수 있다.
JPA는 자바 프로그래밍을 할 때 영구적으로 데이터를 저장하기 위해서 필요한 인터페이스이다.
프로토콜 | 인터페이스
상하관계 없음 | 상하관계가 존재하는 약속
JPA는 ORM 기술이다.
JPA는 반복적인 CRUD 작업을 생략하게 해준다.
JPA는 영속성 컨텍스트를 가지고 있다.
JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다.
JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다.
방언 처리가 용이하며 Migration하기 좋다. 유지보수에도 좋다.
JPA는 쉽지만 어렵다 ?
오브젝트를 데이터베이스에 연결하는 방법론이라 볼 수 있다.
모델링한다는 것은 추상화된 개념을 현실로 추출해서 만들어내는 것이다.
영속성 : 어떠한 데이터를 영구적으로 저장하는 것.
자바는 영구적으로 데이터를 저장할 때 DB를 사용한다.
컨텍스트 : Context, 정의가 모호하지만 모든 정보를 가지고 있다는 것.
이 유튜브를 참조하였습니다.
잘봤습니다! 근데 마지막 참조에 유튜브 링크가 제대로 안걸려있네요 ㅜㅅㅜ