복붙노트

[SPRING] @Component로 클래스에 주석을 달 때 Spring Bean과 Singleton을 의미합니까?

SPRING

@Component로 클래스에 주석을 달 때 Spring Bean과 Singleton을 의미합니까?

Spring에 상당히 새로운 것입니다. 나는 클래스에 주석을 달기에 대한 질문이 있습니다. @Component로 클래스에 주석을 달 때 이것은이 클래스가 Spring Bean이 될 것이며, 기본적으로 싱글 톤이 될 것인가?

해결법

  1. ==============================

    1.예, 맞습니다. @Component는 Spring bean과 Singleton입니다.

    예, 맞습니다. @Component는 Spring bean과 Singleton입니다.

    클래스가 서비스 계층에 속하면 대신 @Service를 주석으로 추가 할 수 있습니다.

    그러나 이러한 주석이 감지 되려면이 줄을 applicationContext.xml에 배치해야합니다.

    <context:component-scan base-package="com.yourcompany" />
    

    싱글 톤 (singleton) - 스프링 빈은 기본적으로 싱글 톤 범위에 있습니다. 당신이 염두에 두어야 할 유일한 것은 필드 변수에 상태를 저장하지 말아야한다는 것입니다 (종속 변수 만 보유해야합니다). 따라서 응용 프로그램은 스레드로부터 안전하며 매번 Bean의 새 인스턴스를 요구하지 않습니다. 즉, 콩은 무국적자입니다.

  2. ==============================

    2.기본적으로 - 예.

    기본적으로 - 예.

    그러나 @Scope 주석을 사용하여이 동작을 재정의 할 수 있습니다. 예를 들면 다음과 같습니다. @Scope (ConfigurableBeanFactory.SCOPE_PROTOTYPE)

  3. from https://stackoverflow.com/questions/5907501/when-annotating-a-class-with-component-does-this-mean-it-is-a-spring-bean-and by cc-by-sa and MIT license