1장 정리

Spring 이란?

  • 자바 엔터프라이즈 애플리케이션 개발에 사용되는 프레임워크

1장에 등장하는 디자인 패턴들

  1. 템플릿 메소드 패턴
  2. 팩토리 메소드 패턴
  3. 전략 패턴

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
복사했습니다!