반응형
스프링 설정파일 효율적으로 관리하기 위해서 설정 파일을 분리하는 방법에 대해 학습한다.
8-1 스프링 설정 파일 분리
appilcationContext를 appCtx1,2,3.xml로 분리했다.
8-2 빈(Bean)의 범위
싱글톤(Singleton)
스프링 컨테이너에서 생성된 빈 (Bean) 객체의 경우 동일한 타입에 대해서는 기본적으로 한 개만 생성이 되며, getBean() 메소드로 호출될 때 동일한 객체가 반환된다.
Spring | Java | |
생성 | ![]() |
new ClassName(); new ClassName(); new ClassName(); |
차이점 | Spring Container는 처음 생성될 때 객체를 미리 생성한다. 따라서 getBean을 호출1, 호출2에서 각각 호출할 때 같이 "A" 객체를 바라본다. | 기존 자바 코드에서 new를 할 때, 각각은 다른 메모리를 사용하여 객체를 생성한다. |
프로토타입(ProtoType)
싱글톤 범위와 반대의 개념, 프로토타입의 경우 개발자는 별도로 설정을 해줘야 하는데 스프링 설정 파일에서 빈(Bean) 객체를 정의할 때 scope속성을 명시해 주면 된다. scope="prototype"을 해주면 Spring Container의 객체를 참조하는 것 아닌 새로운 메모리의 객체를 생성하게 끔 해준다. (위의 기존 java처럼, 흔치 않음)
설정 | 호출 | output |
![]() |
![]() |
![]() |
반응형
'Spring > [인프런] Spring FrameWork' 카테고리의 다른 글
어노테이션을 이용한 스프링 설정 -1 (0) | 2021.12.27 |
---|---|
생명주기(Life Cycle) (0) | 2021.12.24 |
의존객체 선택 (0) | 2021.12.24 |
의존객체 자동 주입 (0) | 2021.12.23 |
스프링 강의노트 (0) | 2021.10.22 |