본문 바로가기

singleton2

스프링 Bean의 scope 빈 스코프말 그대로스프링 컨테이너가 관리해 주는 객체인 스프링 빈이 존재할 수 있는 범위를 뜻하며대표적인 종류로는 싱글톤, 프로토타입, request, session, appliction 등이 있다. 빈 스코프는 왜 필요할까?객체의 생명주기를 상황에 맞게 관리하고 최적화하기 위해필요.스프링 애플리케이션은 다양한 요구사항을 처리하기 때문에,모든 객체를 무조건 하나만 생성하거나 매번 새로 생성하면 비효율적이거나 기능적으로 문제가 발생할 수 있음. 대부분의 서비스나 DAO는 상태 없이 사용되므로 하나만 생성해서 공유하는 것이 가장 효율적이다.매번 새로 만들면 메모리 낭비 + 성능 저하 발생가능.→ 메모리 효율을 위해 싱글톤 스코프 적합. 어떤 계산 로직에서 매번 다른 값 저장이 필요한 경우처럼내부에서 요청마다.. 2025. 4. 30.
싱글톤패턴 싱글톤 패턴이란애플리케이션 전역에서 단 하나의 인스턴스만 생성하고 공유(전역 접근) 하기 위한 디자인 패턴임.싱글톤 패턴은 “전역에서 하나로 관리해야 하는 객체”를 깔끔하게 구현하고, 자원 낭비를 막으며 일관된 상태를 보장할 수 있다. - 유일성 보장과 공유자원에 적합한 전역 접근private 생성자로 외부 인스턴스 생성을 막고, static 필드에 자신을 저장한 후,public 메서드 getInstance()와 같은 메서드로 언제 어디서든 동일한 인스턴스를 반환. - 스레드 안정성 고려멀티스레드 환경에선 여러 쓰레드가 동시에 getInstance() 메서드를 호출해 인스턴스 중복생성을 막도록,synchronized, 이른 초기화(Eager Init) 또는 Static Inner Class(Holder).. 2025. 4. 29.
반응형