Spring/토비의 스프링 3.1
1장. 오브젝트와 의존관계
다비드박
2019. 1. 11. 19:39
개요
스프링은 자바를 기반으로 한 기술이다.
- 가장 중요하게 생각하는 가치 : 객체지향
- 가장 관심을 많이 두는 대상 : 오브젝트
목차
- 1.1 초난감 DAO
- 1.1.1 User
- 1.1.2 UserDao
- 1.1.3 main()을 이용한 DAO 테스트 코드
- 1.2 DAO의 분리
- 1.2.1 관심사의 분리
- 1.2.2 커넥션 만들기의 추출
- UserDao의 관심사항
- 중복 코드의 메소드 추출
- 변경 사항에 대한 검증: 리팩토링과 테스트
- 1.2.3 DB 커넥션 만들기의 독립
- 상속을 통한 확장
- 1.3 DAO의 확장
- 1.3.1 클래스의 분리
- 1.3.2 인터페이스의 도입
- 1.3.3 관계설정 책임의 분리
- 1.3.4 원칙과 패턴
- 개방 폐쇄 원칙
- 높은 응집도와 낮은 결합도
- 전략 패턴
- 1.4 제어의 역전(IoC)
- 1.4.1 오브젝트 팩토리
- 팩토리
- 설계도로서의 팩토리
- 1.4.2 오브젝트 팩토리의 활용
- 1.4.3 제어권의 이전을 통한 제어관계 역전
- 1.4.1 오브젝트 팩토리
- 1.5 스프링의 IoC
- 1.5.1 오브젝트 팩토리를 이용한 스프링 IoC
- 애플리케이션 컨텍스트와 설정정보
- DaoFactory를 사용하는 애플리케이션 컨텍스트
- 1.5.2 애플리케이션 컨텍스트의 동작방식
- 1.5.3 스프링 IoC의 용어정리
- 1.5.1 오브젝트 팩토리를 이용한 스프링 IoC
- 1.6 싱글톤 레지스트리와 오브젝트 스코프
- 1.6.1 싱글톤 레지스트리로서의 애플리케이션 컨텍스트
- 서버 애플리케이션과 싱글톤
- 싱글톤 패턴의 한계
- 싱글톤 레지스트리
- 1.6.2 싱글통과 오브젝트의 상태
- 1.6.3 스프링 빈의 스코프
- 1.6.1 싱글톤 레지스트리로서의 애플리케이션 컨텍스트
- 1.7 의존관계 주입(DI)
- 1.7.1 제어의 역전(IoC)과 의존관계 주입
- 1.7.2 런타임 의존관계 설정
- 의존관계
- UserDao의 의존관계
- UserDao의 의존관계 주입
- 1.7.3 의존관계 검색과 주입
- 1.7.4 의존관계 주입의 응용
- 기능 구현의 교환
- 부가기능 추가 +1.7.5 메소드를 이용한 의존관계 주입
- 1.8 XML을 이용한 설정
- 1.8.1 XML 설정
- connectionMaker() 전환
- userDao() 전환
- XML의 의존관계 주입 정보
- 1.8.2 XML을 이용하는 애플리케이션 컨텍스트
- 1.8.3 DataSource 인터페이스로 변환
- DataSource 인터페이스 적용
- 자바 코드 설정 방식
- XML 설정 방식 +1.8.4 프로퍼티 값의 주입
- 값의 주입
- value 값의 자동 변환
- 1.8.1 XML 설정