1장 정리
Spring 이란?
- 자바 엔터프라이즈 애플리케이션 개발에 사용되는 프레임워크
1장에 등장하는 디자인 패턴들
- 템플릿 메소드 패턴
- 팩토리 메소드 패턴
- 전략 패턴
Dao (Data Acess Object)
- Connection 을 가져온다
- SQL을 위한 PreparedStatement 를 만든다
- 조회의 경우 ResultSet 으로 받아서 옮겨준다
- 작업이 끝나면 반드시 close 한다
- jdbc api 예외들은 받아서 직접 처리하거나 메소드 밖으로 던진다
라이브러리와 프레임워크의 차이
- 어플리케이션이 프레임워크에 의하여 사용되는 수동적인 상태
- 라이브러리는 개발자가 작성한 코드에 따라 사용되는 상태
빈
- 스프링이 IoC 방식으로 관리하는 오브젝트
빈 팩토리
- IoC를 담당하는 컨테이너, 빈의 등록, 생성, 조회 등 빈을 관리한다
IoC 제어의 역전
- 프로그램의 제어가 바뀌는 것
- 오브젝트가 자기가 사용할 오브젝트를 스스로 선택하지 않고 어떻게 만들어지는지 모른다
스프링에서의 IoC
- 스프링이 제어를 직접한다
- 빈의 설정을 제어하는 IoC 오브젝트를 빈 팩토리 라고 함
싱글톤 패턴의 한계
- 생성자가 private 라서 상속할 수 없음
- 테스트를 하기 힘들다
- 분산 서버 환경에서의 구현이 어려움
- 전역 상태를 만들 수 있어서 바람직하지 않다
- 전역 상태를 갖는 것은 객체지향 프로그래밍에서 권장되지 않는 모델!!
어플리케이션 컨텍스트의 동작방식
- 어플리케이션에서 IoC 를 적용하여 관리할 오브젝트들에 대한 관계 설정을 담당
- @Configuration 클래스들을 보고 @Bean 이 붙은 메소드를 가져와 빈 목록을 생성
- getBean() 메소드를 호출하면 빈 목록에서 요청한 빈을 찾고, 있으면 오브젝트를 생성 후 준다
등장하는 디자인 패턴들이 다 비슷비슷해서 아직까지 명확한 차이를 잘 모르겠다
개인적으로 공부를 해서 다시 정리를 해봐야겠다
❓ 궁금합니다 ❓
userDao 인터페이스를 통해 느슨한 결합을 갖게 수정되었는데 db가 바뀌지 않는다는 가정하에 그냥 바로 관계를 맺어도 되는지
한분께서 이런 답을 해주셨다. 소프트웨어의 불변의 진리 ‼️ 모든 것은 변한다,,,,
'개발서적' 카테고리의 다른 글
토프링 - 5장 정리 (0) | 2022.10.09 |
---|---|
토프링 - 4장 정리 (0) | 2022.10.02 |
토프링 - 3장 정리 (0) | 2022.09.26 |
토프링 - 2장 정리 (2) | 2022.09.24 |
토프링 - 시작!!! (0) | 2022.08.31 |