반응형
1장 오브젝트와 의존관계
- 자바의 객체지향 프로그래밍 -> 스프링이 스프링에서 가장 가치를 두는 것
오브젝트에 대한 관심
- 오브젝트간 관계, 사용, 소멸 전 과정
- 오브젝트의 설계 -> 객체지향 설계
- 재활용 가능한 설계방법 = 디자인 패턴
- 깔끔한 구조로 개선 = 리팩토링
- 오브젝트가 정상적으로 동작하는지 = 단위 테스트
스프링이 제공하는 것
- 오브젝트의 효과적인 설계, 구현, 사용 및 개선의 기준
- 객체지향 기술과 설계, 구현에 관한 실용적인 전략
- 검증된 베스트 프랙티스
오브젝트의 설계와 구현, 동작원리에 집중!
1.1 초난감 DAO
DAO(Data Access Object): DB를 사용해 데이터를 조회하거나 조작하는 기능을 하게 만든 오브젝트
자바빈(JavaBean): 비주얼 툴에서 조작 가능한 컴포넌, 일반적으로 클래스를 의미
, 디폴트 생성자 / 프로퍼티
- JDBC를 이용하는 작업의 일반적인 순서
- DB연결을 위한
connection
을 가져옴 - SQL을 담은
Statement
를 만듦 - 만들어진
Statement
를 실행 - 조회의 경우 SQL 쿼리의 실행 결과를
ResultSet
으로 받아 정보를 저장할Object
에 옮겨줌 - 작업중에 생성된
Connection
,Statement
,ResultSet
과 같은 리소스는 작업을 마친 후 반드시 닫아줌 - JDBC API가 만들어내는 예외를 잡아서 직접 처리하거나, 메소드에
throws
를 선언해서 예외하 발생하면 메소드 밖으로 던지게 함
- DB연결을 위한
이 클래스를 테스트 해볼 수 있는 방법은?
- DAO의 기능을 사용하는 웹 어플리케이션을 만들어 서버에 올리고, 웹 브라우저를 통해 DAO 기능 사용해보기
-> But 너무 부담이 큼 - main()을 이용한 DAO 테스트 코드 작성
- User 오브젝트 생성 & 프로퍼티에 값을 넣고 add() 메소드를 이용해 DB에 등록
Connection
설정과 코드에 이상이 없으면 main() 메소드는 종료
반응형
'개인 공부 > 토비의 스프링 3.1' 카테고리의 다른 글
[토비의 스프링] 1.5 스프링의 IoC (0) | 2021.07.20 |
---|---|
[토비의 스프링] 1.4 제어의 역전(IoC) (0) | 2021.07.19 |
[토비의 스프링] 1.3 DAO의 확장 (0) | 2021.07.18 |
[토비의 스프링] 1.2 DAO의 분리 (0) | 2021.07.17 |
[토비의 스프링] 0. 토비의 스프링 공부 계획 (1) | 2021.07.10 |