Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 싱글톤 패턴과 스프링 컨테이너의 원리에 대하여 정리했다. 컴포넌트와 스캔 스프링 빈은 설정 정보를 @Bean으로 일일이 등록을 해주어야 한다. 이를 편리하게 자동으로 등록해주는 것이 컴포넌트 스캔이다. 설정 정보 클래스에 @ComponentScan 어노테이션을 추가로 붙여주면, 해당 설정 정보를 사용해 스프링 컨테이너 생성 시 모든 클래스를 대상으로 컴포넌트 스캔이 진행된다. 이제 클래스가 컴포넌트..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 빈의 설정 정보에 대해 공부해 보았다. 웹 서버에 싱글톤 패턴이 필요한 이유 스프링 애플리케이션은 대부분 웹 애플리케이션으로, 여러 클라이언트로부터 동시에 데이터를 요청받는다. 기존에 만들었던 스프링의 DI 컨테이너의 코드를 살펴보자. 자바 코드로 해석해보면, 순수 자바 DI 컨테이너는 빈이 요청될 때마다 새로운 인스턴트를 생성해서 반환을 해줄 것이다. 이런 경우 서버의 JVM 메모리에 인스턴스가 ..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 스프링 빈의 조회 방법에 대해 알아 보았다. 이전에 스프링 컨테이너를 ApplicationContext(interface class)라고 하였다. ApplicationContext도 최상위 인터페이스를 상속하는데, 그것이 바로 BeanFactory이다. 사실 빈의 관리와 검색기능은 BeanFactory가 제공하고, 어플리케이션 개발에 필요한 부가 기능들을 ApplicationContext가 제공해준..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 스프링 컨테이너와 스프링 빈에 대해서 간단히 소개하였다. 이번에는 스프링 빈의 조회 방식에 대해 알아보자. 스프링 빈 조회 기본적으로 사용하는 것은 ApplicationContext의 getBean() 함수 이다. getBean(빈 이름, 타입) 또는 getBean(타입) 으로 조회가 가능하다. 또한 getBeanDifinitionNames()로 모든 bean의 이름을 가져올 수도 있다. 만약 존재..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 제어의 역전과 DI 컨테이너에 대해 정리하였다. 기존까지는 순수한 자바 문법만으로 구성 영역을 담당하는 DI 컨테이너(AppConfig)를 만들었다. 이번에는 스프링의 문법으로 재구성 해보도록 하자. 스프링 컨테이터와 스프링 빈 스프링 컨테이너를 사용하면 DI 컨테이너 역할을 하게 만들 수 있다. 이러한 스프링 컨테이너를 ApplicationContext 라고 한다. 클래스를 스프링 컨테이너로 설정..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 DI로 구성영역과 사용영역을 분리하였다. 제어의 역전, Ioc(Inversion of Control) 제어의 역전은 구현 객체가 직접 코드를 호출하는 것(스스로 프로그램의 코드를 제어)이 아니라, 이전 글의 AppConfig 처럼 프레임 워크와 같이 외부에서 코드를 대신 호출, 관리해 주는 것을 의미한다. 말 그대로 제어 권이 넘어가기 때문에 제어의 역전 (Inversion of Control) 이..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 글에서는 다형성(인터페이스)만으로는 OCP, DIP를 지킬 수 없는 이유를 정리하였다. 이번에는 이를 해결할 수 있는 구성 영역과 실행 영역의 분리, 그리고 DI(Dependency InJection)과 컨테이너 기술을 살펴보자. 생성자 주입과 DI(의존관계 주입) 역할(배역, 인터페이스)과 구현(배우, 구현체)을 분리했다면, 구현체가 다른 역할의 구현체를 직접 선택하는 것은 배우가 직접 상대 배우를 선택하..
* 김영한님의 스프링 핵심원리 기본편 강좌를 수강하며 정리한 글입니다. * 스프링의 탄생 스프링의 명칭 자체는 자바 진영의 새로운 시작을 의미하는 것으로 문자 그대로 봄을 뜻한다. 과거 자바 진영의 표준이었던 EJB는 복잡함 때문에 많은 개발자들이 녹아내렸다... 표준이 이 모양이다 보니, 많은 개발자들이 좀 더 편리한 기능들의 자바 오픈 소스 프로젝트를 발표했고, 스프링도 이중에 하나였다. 스프링은 단 하나의 기술을 말하는 것이 아닌 여러 기술들의 생태계를 의미한다. 이중에서도 스프링 프레임 워크와 스프링 부트가 가장 중요한데, 대부분 스프링의 공부는 스프링 프레임워크를 배우는 것을 의미한다. 스프링 프레임워크의 핵심 기술은 DI 컨테이너, AOP 등이 존재하는데, 이에 대한 설명을 아래에서 진행하겠다..