[섹션 6: DB 접근 기술]
- GB Bc 로 개발 -> 완전 노가다 ( 순수 )
- spring 이 gdbc 템플릿을 만들어서, SQL 용이하게 함
- SQL 을 JPA 기술을 사용해서, 쿼리 없이 객체를 저장하고 관리 가능 (+Spring Data JPA .)
- 코드 적으면서 헷갈림, 강조 하신 부분들:
- MemberMemory Repository의 sequence == 데이터 베이스에 자동으로 동기화 시키는 코드
#1. 순수 Jbdc
- 스프링을 쓰는 이유=”다형성” 이 좋아서 객체지향 구현에 유리함.
- DI 덕분에 의존관계에 따라, 개발자가 따로 수정해줄 필요없이, 오직 application 설정 코드 ( =assembly 코드)만 수정해주면 됨. (; 구현 클래스 변경 )
#2. 스프링 통합 “test” 구현
→ 단일 테스트 와 다르게 스프링을 끌어다가 사용하면 번거로움을 줄일 수 있음.
-
스프링을 사용하여 구현할때, 데이터 베이스(전체 데이터 베이스가 아니라, “테스트” 데이터 베이스이다. 는 기본적으로 트렌젝션이 있어서, 수동으로 커밋을 매번 해줘야함.
- 해결하기 위해 사용하는 것: “@Transectional”
- 테스트가 끝나면 자동으로 롤벡 후, 테스트 데이터 베이스의 정보들을 지워줌.
..
Q. 그럼 스프링 없이 하는 단위테스트는 번거로우니 할 필요가 없지 않은가?
A. 단위테스트: 사실 훨씬 더 좋은 테스트임. 훨씬 정교함. 따라서, 스프링 컨테이너 사용하지 않고 단위테스트로 구현하는 것에도 익숙해져야함.
- 해결하기 위해 사용하는 것: “@Transectional”