Today I Learned_220426

최대 1 분 소요

Spring Framework

인프런 스프링 강의 수강

스프링 컨테이너

스프링 컨테이너는 BeanFactory, ApplicationContext로 구분됨. BeanFactory가 좀 더 상위의 개념이다.

컨테이너 : 사용하는 객체들을 담은 것

ApplicationContext

  • 전체 애플리케이션의 문맥을 뜻하며, 스프링 컨테이너라 한다.
  • 스프링 컨테이너가 객체를 생성하고 DI를 진행한다.
  • ApplicationContext는 인터페이스 명으로, Annotaion, XML을 사용하여 컨테이너를 생성하는 구현체를 받아 사용한다.
  • @Configuration이 붙은 클래스를 구성 정보로 사용하며, 이 클래스 내부의 @Bean이 붙은 메서드를 전부 조사하여 스프링 빈으로 만든다.

일반적으로 BeanFactory를 직접 사용하는 경우는 없으므로, ApplicationContext를 스프링 컨테이너라 한다.

스프링 컨테이너의 생성 과정

  1. 구성 정보 클래스(AppConfig.class)를 바탕으로 한 스프링 컨테이너 생성
  2. 스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 바탕으로 스프링 빈을 등록. 컨테이너는 본인을 생성하면서 스프링 빈 저장소에 빈 등록을 한다.
  3. 스프링 컨테이너에 스프링 빈을 등록한 다음 의존관계 설정. 설정 정보를 참고하여 의존관계를 주입한다.

Bean

일반적으로는 메서드 이름으로 생성되며, name을 통해 빈 이름을 직접 부여할 수도 있다.

빈 이름은 항상 다른 이름을 부여해야 한다 -> 다른 빈이 무시되거나, 기존 빈을 덮어버리거나, 오류가 발생할 수 있음.

Jekyll

22일 이후의 포스팅들이 올라가지 않아 확인해 봤더니, 콘솔 창에 아래와 같은 오류가 나타났다.

콘솔 오류 창

22일 학습 내용으로 jekyll 내 Liquid 관련한 내용을 적었는데, 코드블럭 안에 적은 내용도 Liquid 문법으로 인식하여 오류가 났던 것.

마크다운 내용

이에 코드 내용을 우선 이미지로 넣었다.

카테고리:

업데이트: