컨트롤러에서 데이터베이스에 직접 접근해서 데이터를 가져올 수 있지만, 컨트롤러마다 데이터를 가져오게 되면 코드의 중복이 발생한다. 컨트롤러와 DB사이에 UserDao를 넣고 중복된 코드를 넣음으로써, 코드의 중복을 피하고 컨트롤러가 DB에 간접접근할 수 있게 만들었다. 컨트롤러의 중복코드를 분리함으로써 변경에 유리해지는 장점이있다.