DAO를 Inject했는데 DAOImpl이 동작? DAO/Service 계층 분리이유?
어떻게 DAO를 주입했는데 DAO Impl이 돌아갈까?
- DAO를 주입한게 아니라 DAO타입의 객체를 주입한 것.
- 스프링에 persistence패키지를 스캔대상으로 등록.
- 이 때 @Repository가 붙은 DAOImpl을 스프링이 스캐닝하고, DAOImpl이 Bean으로 등록된다.
DAO / SERVICE 계층 나누는 이유?
- DAO는 그 자체만으로도 DB에 접근할 수 있게 해주는 계층이다.
- 따라서 어떤 DB건 DAO를 통해 DB에 접근할 수 있다.
- 그리고 Service는 직접 DB에 접근하는 권한이나 역할이 없으며, DAO로 데이터를 전달하거나
DAO로부터 받은 데이터를 가지고 작업을 한다.
- 보안관련문제도 있다. Service계층은 직접 DB 정보를 가지고 있지 않기 때문에 보안에 좀 더 유리하다.
- DAO를 주입한게 아니라 DAO타입의 객체를 주입한 것.
- 스프링에 persistence패키지를 스캔대상으로 등록.
- 이 때 @Repository가 붙은 DAOImpl을 스프링이 스캐닝하고, DAOImpl이 Bean으로 등록된다.
DAO / SERVICE 계층 나누는 이유?
- DAO는 그 자체만으로도 DB에 접근할 수 있게 해주는 계층이다.
- 따라서 어떤 DB건 DAO를 통해 DB에 접근할 수 있다.
- 그리고 Service는 직접 DB에 접근하는 권한이나 역할이 없으며, DAO로 데이터를 전달하거나
DAO로부터 받은 데이터를 가지고 작업을 한다.
- 보안관련문제도 있다. Service계층은 직접 DB 정보를 가지고 있지 않기 때문에 보안에 좀 더 유리하다.
댓글
댓글 쓰기