[Spring] DI, IoC, JPA 요약

곽동현·2022년 1월 25일
0

스프링 입문하기

목록 보기
2/8
post-thumbnail

DI

Spring에서 사용되는 IoC란 객체가
내부적으로 조작할 객체를 직접 생성하지 않고 외부로부터 주입받는 기법을 의미한다.
이때, 객체를 외부로부터 주입해주는 작업을 DI(의존성 주입)이라고 부른다.


IoC

  • IoC (Inversion of Controll) 이란 "역전의 제어", 주도권은 스프링이 가진다는 의미이다. 한 마디로 "제어의 흐름을 바꾼다" 라고 이해할 수 있다.

  • 구조 : 스프링이 수많은 오브젝트들을 직접 컨트롤한다.

객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 한다.


JPA



JAVA Persistence API : JPA

  • API? Application Programming Interface

프로그램을 만들기(프로그래밍) 위한 인터페이스라 볼 수 있다.

JPA는 자바 프로그래밍을 할 때 영구적으로 데이터를 저장하기 위해서 필요한 인터페이스이다.

인터페이스:

프로토콜 | 인터페이스
상하관계 없음 | 상하관계가 존재하는 약속

JPA는 ORM 기술이다.
JPA는 반복적인 CRUD 작업을 생략하게 해준다.
JPA는 영속성 컨텍스트를 가지고 있다.
JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다.
JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다.
방언 처리가 용이하며 Migration하기 좋다. 유지보수에도 좋다.
JPA는 쉽지만 어렵다 ?

ORM : Object Relational Mapping

  • 오브젝트를 데이터베이스에 연결하는 방법론이라 볼 수 있다.

  • 모델링한다는 것은 추상화된 개념을 현실로 추출해서 만들어내는 것이다.

영속성 컨테스트

  • 영속성 : 어떠한 데이터를 영구적으로 저장하는 것.

  • 자바는 영구적으로 데이터를 저장할 때 DB를 사용한다.

  • 컨텍스트 : Context, 정의가 모호하지만 모든 정보를 가지고 있다는 것.


🙆‍♂️ 참고사이트 🙇‍♂️

유튜브를 참조하였습니다.

profile
읽고 쓰며 생각합니다 💡

1개의 댓글

comment-user-thumbnail
2022년 1월 26일

잘봤습니다! 근데 마지막 참조에 유튜브 링크가 제대로 안걸려있네요 ㅜㅅㅜ

답글 달기