[Spring boot]DataSource, Repository, Service, Domain, Controller, bean 이란?

2021. 5. 2. 23:37프로그래밍/web

spring boot에는 정형화된 개발 패턴이 존재하는데 이때 사용하는 것들에 대해서 용어들을 알아보자.

 

DataSource란?

JDBC로 데이터에 접근하게 되면, 데이터베이스에 접근시마다 connection을 맺고 끊는 작업이 수행된다. 이 작업을 줄이고 access 시간을 줄이기 위해 미리 connection을 생성해 두고, 데이터 베이스에 접근하는 사용자에게 미리 생성된 connection을 주고 돌려받는다. 이때 이 connection들을 모아놓는 곳을 connection pool이라 하고, DataSource는 java에서 connection pool 지원을 위한 인터페이스.

spring IoC란?

객체가 내부적으로 조작할 객체를 직접 생성하지 않고 외부로부터 주입받는 기법을 말한다.

출처 : https://m.blog.naver.com/PostView.nhn?blogId=pjok1122&logNo=221744895053&proxyReferer=https:%2F%2Fwww.google.com%2F

bean이란?

spring IoC 컨테이너가 관리하는 자바 객체를 Bean이라고 한다. 

Repository란?

DAO를 구성하는 부분. 보통 interface로 구현하고, 추가로 class를 작성해 개발 함수를 강제하는 방법을 사용한다. 

Service란? 

비지니스 모델이 돌아가는 부분. 

Domain이란?

Repository 기술에 대한 추상화 지원. DAO에 해당 하는 부분.

Controller이란?

url을 매핑해주고, 본격적인 비지니스 로직이 실행되기 전 객체 전달이나, 파라미터 전달을 수행.