DAO(Data Access Object)란?
데이터(data)에 접근(access)하기 위한 객체(object)
- Database에 저장된 데이터를 읽기, 쓰기, 삭제, 변경을 수행 (CRUD)
- DB테이블 당 하나의 DAO를 작성한다. (1:1)
- Controller ↔ Dao ↔ DB
![](https://velog.velcdn.com/images/mini_mouse_/post/505d7c67-4cf4-4182-bf2b-1263a8700210/image.png)
계층(layer)의 분리
Controller ↔ DB ⇒ 코드 중복 제거를 위하여 Dao를 생성
@Component가 포함된 애노테이션들
- @Controller
- @Repository
- @Service
- @ControllerAdvice