[Spring] 스프링 Bean이란?

🌟 Bean

서블릿 컨테이너와 루트 컨테이너

스프링 MVC구동시 서블릿 컨테이너인 WAS가 구동.(톰켓이 그 예시ㅇㅇ) 스프링은 그 위에서 동작 이렇게 구동될때 참조되는 설정파일은 WEB_INF 내의 web.xml -> 얘를 참조하여 루트컨테이너가 생성됨 프로젝트당 하나씩만 생성되는 최상위 부모 컨테이너 - 이 아래에서 서블릿(클라 요청마다 응답보내는 컴포넌트)마다 컨테이너 갖고, 개발자가 만드는 컨테이너까지 해서 총 세종류의 컨테이너가 있음

🎯SingleTone?

클라이언트가 웹서버에 접속할 시 일반적으로는 클라이언트 한명당 한 스레드를 차지하고, 그 스레드 안에서 객체를 새로 생성해서 접근한다 이렇게 생성된 객체의 크기만큼 서버의 힙 메모리공간에 자리를 차지하게 된다. 스프링에서는 beans를 활용하여 크게 정의를 내려놓은 뒤 해당 자원을 공유하게끔 한다. 이럼으로서 서버의 힙 공간에는 초기 큰 정의를 내린만큼의 공간만 차지하게 된다. 앞서말한 Autowired가 자원공유를 위해 다리를 놔주는거라 생각하면 편하다.

https://happynotepad.tistory.com/57 https://m.blog.naver.com/scw0531/220988401816 https://codevang.tistory.com/258


Written by@이주형
平常心

GitHubFacebook