DTO란?
하나의 가방이라고 생각하자
- DTO란 Data Transfer Object의 약자이다
- 계층간 데이터 교환을 위한 자바빈즈입니다.
- 여기서의 계층이란 컨트롤러 뷰, 비지니스 계층, 퍼시스턴스 계층을 의미
- 일반적으로 DTO는 로직을 가지고 있지 않고, 순수한 데이터 객체이다
- 필드와 getter, setter를 가진다. 추가적으로 toString(), equals(), hashCode()등의 Object 메소드를 오버라이딩 할 수 있다.
DAO
- Data Access Object의 약자로 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체이다.
- 보통 데이터베이스를 조작하는 기능을 전담하는 목적
- 딱 한가지 일만 하도록 만들어놓은 객체
ConnectionPool이란?
- DB연결은 비용이 많이 든다.
- 커넥션 풀은 미리 커넥션을 여러개 맺어 둔다.
- 커넥션이 필요하면 커넥션 풀에게 빌려서 사용한 후 반납한다.
- 커넥션은 되도록 빨리 반납해야하는데 만약 그렇지 않으면 ConnectionPool에서 사용 가능한
Connection이 없어서 프로그램이 늦어지거나 심한 경우에는 장애를 발생시킬 수 도 있다.
DataSource
- DataSource는 커넥션 풀을 관리하는 목적으로 사용되는 객체이다
- DataSource를 이용해 커넥션을 얻어오고 반납하는 등의 작업을 수행한다.
- DataSource로부터 얻은 Connection에 close() 메서드는 반납하도록 구현이 되어있다.
'Deep Dive > BACK' 카테고리의 다른 글
Binding Result의 사용법 (0) | 2023.06.19 |
---|---|
회원가입시 Member Entity가 아닌 MemberForm DTO를 활용하는 이유 (0) | 2023.06.19 |
Spring Core (0) | 2022.10.09 |
JSTL (0) | 2022.10.09 |
EL(Expression Language) (0) | 2022.10.09 |