Java 관련/Spring Legecy

[Spring] Annotation(@Component)

씨네 2022. 3. 23. 09:36
728x90

@Component

클래스에 선언하여 해당 클래스를 자동으로 bean 등록.

bean의 이름은 해당 클래스의 이름(첫글자 소문자)

범위는 디폴트로 singleton. @Scope로 지정 가능

Annotation코드만 간단하게 보겠습니다.

우선 SamsongTv클래스와 IgTv클래스가 있다고 치면

@Component
public class IgTv implements TV {

}

해당 어노테이션은 IgTv를 Bean객체로 등록해주는 역할입니다.

<bean id="igTv" class="com.test03.IgTv" />

xml에서는 위와 같은 코드가 되겠네요!

IgTV igTV = new IgTV();

또 일반적인 자바 코드로는 위와 같은 코드입니다.

@Component("samsong")
public class SamsongTv implements TV {

}

해당 어노테이션에는 ("samsong")이 들어가 있습니다.

해당 내용이 없다면 bean으로 등록될때 samsongTv라는 이름으로 등록되지만 해당 내용으로 인해 samsong으로 등록이됩니다.

<bean id="samsong" class="com.test03.SamsongTv" />​
SamsongTV samsong = new SamsongTV();

에서 확인하시면 됩니다!

728x90