-
TIL: 코드스테이츠 백엔드 부트캠프 6일차(주말)Today I Learned & WIL, MIL 2022. 4. 30. 17:53
오늘은 토요일. 학습 요약 포스팅은 쉰다.
그렇다고 뭘 공부했는지 남기는 것까지 쉬면, 왠지 공부한게 머릿속에서 날아갈 것만 같아서(팩트: 해도 날아감) TIL로 남기며 리마인드 하고 저녁시간을 보내야겠다.
학습 공유의 목적이 아니라 걍 되새김질이라, 최소한의 설명도 없으므로 불친절하고 뭔 말인지 알아들을 수 없을지 모르며, 틀린 정보가 있을 수도 있다.220430_TIL
스프링 컨테이너 & 스프링 빈
스프링은 객체 간 의존관계를 관리하기 위해 객체를 빈Bean으로 관리한다. 빈 이름과 참조값, 그리고 여러 메타 정보를 담고 있다. 이 빈들을 총괄해서 담고 있는 건 스프링 컨테이너다.
과정을 조금 살펴보면,
스프링을 실행할 때(대개의 경우), 자바 코드나 XML로 작성된 내용(이것도 대개의 경우)을 각각의 Reader구현으로 읽는다. 읽은 내용으로 빈 설정 메타 정보(BeanDefinition)를 만들고, 메타 정보는 ApplicationContext 싱글톤으로 생성되어(이것도 대개의 경우), 스프링 컨테이너에 담게 되는 것이다.빈을 자바코드로 작성할 때에는 빈 이름과 타입이 되는 클래스를 명시해주는 방식이 좋으며, 타입이 되는 클래스만 명시할 수 있다(구현 클래스를 명시할 수도 있다).
또, 빈을 등록할 때는 상속관계를 고려해야 한다. 의존관계에 속해있는 객체들까지 함께 빈으로 등록된다는 점이다. 예를 들어 최상위 부모인 Object를 빈으로 등록할 경우, 모든 객체가 전부 빈으로 등록되어버린다.
내일은 첫 주 회고를 남겨봐야겠다.
'Today I Learned & WIL, MIL' 카테고리의 다른 글
TIL: 백엔드 부트캠프 8일차 with 코드스테이츠 (5) 2022.05.04 TIL: 백엔드 부트캠프 7일차 with 코드스테이츠 (2) 2022.05.03 백엔드 부트캠프 8일차 with 코드스테이츠 (0) 2022.05.02 TIL: 코드스테이츠 백엔드 부트캠프 5일차 - 페어프로그래밍 (2) 2022.04.29 TIL: 코드스테이츠 백엔드 부트캠프 4일차 (0) 2022.04.28 TIL: 백엔드 부트캠프 3일차 (0) 2022.04.27