24.03.08 14:36 작성
·
435
·
수정됨
0
controller, repository 이런걸 스프링 빈으로 등록하는 이유는 자주 사용하기 때문인가요 ?? 딱 1개만 생성이 되어서 메모리 낭비를 방지하기 위함인가요 ?
그리고 해당 컨트롤러/레포지토리 객체를 만들어서 스프링 컨테이너가 들고있을 때 해당 객체의 내용을 다 포함하고 있는 형태로 들고있나요?? 아니면 인터페이스처럼 가볍게?? 들고있는건가요 ??
질문이 너무 추상적이네요 죄송합니다
답변 1
1
안녕하세요. 팡휘님, 공식 서포터즈 코즈위버입니다.
네, 말씀하신것처럼 싱글톤으로 관리하는 이유는 메모리 절약 목적이 크다고 할 수 있습니다. 컨트롤러, 서비스, 리포지토리는 필드에 어떤 상태를 저장하며 관리할 이유가 없고, 여러번 인스턴스를 생성할 이유가 없기에 싱글톤으로 관리하기 적합한 불변객체입니다.
오브젝트(인스턴스)를 메모리에 보관, 관리합니다. 🙂 인스턴스 하나는 생각보다 메모리 사용량이 크지는 않습니다.
감사합니다.
2024. 03. 08. 18:53
답변 감사합니다! ^^