old posting

    [Spring] 빈의 스코프

    스코프(Scope) 싱글톤 프로토타입 Request Session WebSocket ... 프로토타입 빈이 싱글톤 빈을 참조하는데 문제 없다. 싱글톤 빈이 프로토타입 빈을 참조하면 같은 객체를 참조한다. 즉 프로토타입 빈이 업데이트 되지 않는다. 업데이트를 하려면 scoped-proxy, Object-Provider, Provider(표준)을 사용해야한다. 싱글톤 객체 사용시 주의할 점 프로퍼티가 공유된다. ApplicationContext 초기 구동시 인스턴스가 생성된다.

    [Spring] Component Scan 과 Component

    [Spring] Component Scan 과 Component

    컴포넌트 스캔 설정 방법 XML 설정에서는 context:component-scan Java 설정에서는 @ComponentScan 특정 패키지 이하의 모든 클래스중에 @Component 어노테이션을 사용한 클래스를 빈으로 자동으로 등록해준다. 컴포넌트 스캔의 주요 기능 스캔 위치 설정 필터 어떤 어노테이션을 스캔 할지 또는 스캔하지 않을지 설정 Component @Repository @Service @Controller @Configuration 동작 원리 @ComponentScan은 스캔할 패키지와 어노테이션에 대한 정보 실제 스캐닝은 ConfigurationClassPostProcessor라는 BeanFactoryPostProcessor에 의해 처리된다. 펑션을 사용한 빈 등록

    [Spring] @Autowired

    @Autowired 필요한 의존 객체의 타입에 해당하는 빈(Bean)을 찾아 주입한다. required 기본값은 true (따라서 찾지 못하면 어플리케이션 구동 실패) 사용할 수 있는 위치 생성자 (스프링4.3 부터는 생략 가능) setter 필드 경우의 수 해당 타입의 빈이 없는 경우 해당 타입의 빈이 한개인 경우 해당 타입의 빈이 여러개인 경우 빈 이름으로 시도 같은 이름의 빈을 찾으면 해당 빈 사용 같은 이름의 빈을 못찾으면 실패 같은 타입의 빈이 여러개 일 때 @Primary 해당 타입의 빈 모두 주입 받기 @Qualifler (빈 이름으로 주입) 동작 원리 BeanPostProcessor 새로 만든 빈 인스턴스를 수정할 수 있는 라이프 사이클 인터페이스 AutowiredAnnotationBean..

    [Spring] IoC 컨테이너와 빈(Bean) 그리고 ApplicationContext

    Spring Framework 소규모 어플리케이션 또는 기업용 어플리케이션을 자바로 개발하는데 있어 유용하고 편리한 기능을 제공하는 프레임워크 Spring5 부터는 Servlet기반이 아닌 WAS도 개발할 수 있다. Spring IoC 컨테이너 (Inversion of Control) 의존 관계 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법 BeanFactory 어플리케이션 컴포넌트의 중앙 저장소 빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. 빈(Bean) Spring IoC 컨테이너가 관리하는 객체 장점 의존성 관리 Scope Singleton prototype Lifecycle..