스프링강의

스프링 싱글톤

lby132 2021. 10. 28. 22:53

스프링은 싱글톤을 보장해준다.

즉 싱글톤 객체를 생성하지 않아도 @Configuration을 해서 스프링에 등록을 해주면 @Bean으로 등록된 객체들이 자동으로 싱글톤을 보장받게 되는데 @Bean만 있고 @Configuration이 없으면 싱글톤이 적용되지 않기 때문에 객체를 호출할때 매번 생성된다.

그리고 스프링에 등록되고 싱글톤이 적용이 되면 빈으로 등록후 getClass를 해보면 클래스이름+CGLIB으로 나오는데 CGLIB이라는 바이트코드 조작 라이브러리를 사용해서 클래스를 상속 받은 임의의 다른 클래스를 만들고 그 다른 클래스를 스프링으로 등록한 것이다. 

그 다른 클래스가 싱글톤이 보장되게 해주는 것이다.

'스프링강의' 카테고리의 다른 글

웹서버와 웹어플리케이션 서버  (0) 2021.11.23
서블릿 컨테이너  (0) 2021.11.23
@SpringBootTest, @Transactional  (0) 2021.10.12
빈 등록  (0) 2021.10.11
좋은 객체 지향 설계 SOLID  (0) 2021.10.10