@Component는 Spring의 Bean 유형 Annotation입니다. 이 Annotation을 추가한 후에만 Bean이 Spring에 의해 관리됩니다. 이 Annotation을 추가하지 않으면 Spring이 이 클래스를 인식할 수 없으므로 오류가 보고됩니다. 이 주석 이후에 추가되면 Spring은 이 두 클래스가 Spring의 두 개의 Bean이라는 것을 알고 자동으로 서로 주입할 수 있습니다. 봄에 대한 이해가 깊지 않아서 문제가 될 수도 있는 개인적인 의견일 뿐입니다
@Autowired는 주입을 사용하려면 클래스를 스프링으로 관리해야 한다는 뜻입니다. 즉, class B도 스프링 빈이어야 하고, class A도 스프링 빈이어야 합니다. class A이 spring bean이 아니기 때문에 spring은 class B 주입을 도울 수 없습니다. 이 spring bean이 아닌 class A에 class B을 사용하려면 class B만 설정하면 됩니다.
SpringContextHolder가 되어 보세요
@Component는 Spring의 Bean 유형 Annotation입니다. 이 Annotation을 추가한 후에만 Bean이 Spring에 의해 관리됩니다. 이 Annotation을 추가하지 않으면 Spring이 이 클래스를 인식할 수 없으므로 오류가 보고됩니다. 이 주석 이후에 추가되면 Spring은 이 두 클래스가 Spring의 두 개의 Bean이라는 것을 알고 자동으로 서로 주입할 수 있습니다. 봄에 대한 이해가 깊지 않아서 문제가 될 수도 있는 개인적인 의견일 뿐입니다
서비스 이름을 사용하여 applicationContext에서 가져옵니다.
@Autowired는 주입을 사용하려면 클래스를 스프링으로 관리해야 한다는 뜻입니다. 즉,
class B
도 스프링 빈이어야 하고,class A
도 스프링 빈이어야 합니다.class A
이 spring bean이 아니기 때문에 spring은class B
주입을 도울 수 없습니다.이 spring bean이 아닌
class A
에class B
을 사용하려면class B
만 설정하면 됩니다.