Data Access Object(Persistence Layer, Data Access Layer)
DAO를 통해서 DB에 있는 테이블을 조작(CRUD)한다.
테이블당 하나의 DAO를 작성한다.
컨트롤러(Presentation Layer-데이터를 보여주는 쪽.)에서 중복 메서드를 제거하기위해
직접 접근이 아니라 간접 접근을 통해 계층을 분리
관심사의 분리(데이터를 보여주는 쪽과 데이터에 접근하는쪽)
중복 제거
변경에 유리(DAO를 데이터베이스에 따라서 만들어 바꾸면 됨)
DAO는 인터페이스**(UserDao)**
DAO 인터이스를 구현하는 클래스를 만들어야함.(UserDaoImpl)
해당 클래스에 @Repository붙여주기.