강의 복습
섹션 2, 3에서는 스프링 핵심 원리 이해에 관한 내용을 배웠다.
우선 스프링 없이 프로젝트를 생성 후,
불편함을 해결하다보면 왜 스프링이라는 프레임워크가 나올 수 밖에 없는지 따라갈수 있었다.
JUnit을 통한 테스트 작성 방법도 배웠다.
사실 이전에 들은 스프링 입문 강의에서 듣긴했지만.
스프링의 핵심은 좋은 객체지향 프로그래밍을 쉽게 만들 수 있게 해주는것이다.
좋은 객체지향 프로그래밍은, SOLID 원칙을 준수하면 된다.
config파일을 생성해서 리팩토링하면 기존 코드로만은 지키기 불가능한 SRP,OCP, DIP 원칙을 지킬 수 있다.
이 config 파일을 생성한 것이 프레임워크를 쓰면 얻는 장점과 유사하다.
IoC, DI 이것들이 config 덕에 생겨났다.
IoC = 제어의 역전
DI = 의존성 주입
스프링을 쓰면 이렇게 힘들게 만들었지만 사용하기도 복잡하고 기능도 부족한
AppConfig를 스프링 컨테이너에 등록하면 스프링 빈을 편하게 사용할수있다.
내 생각
스프링과 OOP에 대한 핵심 철학을 잘 이해하는것이 중요하다.
그래서 조금 더 찾아본 내용이다.
스프링의 모토는 결국 "기본으로 돌아가자"입니다. 자바의 기본인 객체지향에 충실한 설계가 가능하도록 단순한 오브젝트로 개발할 수 있고, 객체지향의 설계 기법을 잘 적용할 수 있는 구조를 만들기 위해 DI 같은 유용한 기술을 편하게 적용하도록 도와주는 것이 스프링의 기본 전략입니다.
출처: https://12bme.tistory.com/157 [길은 가면, 뒤에 있다.]
강의에서 들은 내용과 같다.
복잡한 프로그램을 만드는 복잡한 프레임워크를 사용할때 길을 잃지 않으려면 항상 명심하고 있어야겠다.
'Dev > Spring' 카테고리의 다른 글
7. 의존관계 자동 주입 (0) | 2021.03.28 |
---|---|
6. 컴포넌트 스캔 (0) | 2021.03.28 |
5. 싱글톤 컨테이너 (0) | 2021.03.27 |
4. 스프링 컨테이너와 스프링 빈 (0) | 2021.03.27 |
1. 객체 지향 설계와 스프링 [스프링 핵심 원리-기본편] (0) | 2021.03.24 |