스프링은 싱글톤을 보장해준다.
즉 싱글톤 객체를 생성하지 않아도 @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 |