DTO, DAO, ConnectPool, DataSource
DTO
- Data Transfer Object의 약자
- 계층간 데이터 교환을 위한 자바빈즈이다.
- 여기서의 계층이란 컨트롤러 뷰, 비즈니스 계층, 퍼시턴스 계층을 의미한다.
- 일반적으로 DTO는 로직을 가지고 있지 않고, 순수한 데이터 객체이다.
- 필드와 getter, setter를 가진다. 추가적으로 toSring(), equals(), hashCode() 등의 Object 메소드를 오버라이딩 할 수 있다.
DAO
- Data Access Object의 약자
- 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체이다.
- 보통 데이터베이스를 조작하는 기능을 전담하는 목적으로 만들어진다.
ConnectionPool
- DB 연결은 비용이 많이 든다.
- 시간이 많이 걸리거나 자원을 많이소모하면 비용이 많이 든다고 표현
- 커넥션 풀은 미리 여러 개를 맺어 두고 커넥션이 필요하면 커텍션 풀에게 빌려서 사용한 후 반납한다
- 제 때에 반납하지 않으면 사용 가능한 Connection이 없어서 프로그램이 늦어지거나 심할 경우에는 장애를 발생시킬 수도 있다.
DataSouce
- 커넥션 풀을 관리하는 목적으로 사용되는 객체이다.
- DataSource를 이용해 커넥션을 얻어오고 반납하는 등의 작업을 수행한다.