programing

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

nasanasas 2020. 8. 22. 08:59
반응형

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


Spring을 처음 접하는 저는 클래스 주석 달기에 대한 질문이 있습니다. 클래스에 주석을 달 때 @Component이것은이 클래스가 Spring Bean이되고 기본적으로 싱글 톤이됨을 의미합니까?


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

클래스가 서비스 계층에 속하는 경우 @Service대신 주석을 달 수 있습니다.

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

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

싱글 톤 정보-스프링 빈은 기본적으로 모두 싱글 톤 범위에 있습니다. 유일하게 염두에 두어야 할 것은 필드 변수에 상태를 저장하지 않아야한다는 것입니다 (종속성 만 보유해야 함). 따라서 애플리케이션은 스레드로부터 안전하며 매번 빈의 새 인스턴스가 필요하지 않습니다. 즉, 당신의 콩은 무국적자입니다.


기본적으로-예.

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

참고 URL : https://stackoverflow.com/questions/5907501/when-annotating-a-class-with-component-does-this-mean-it-is-a-spring-bean-and

반응형