찾다

 >  Q&A  >  본문

java - spring boot @Autowired

如何在一个没有注解的类中加入一个已经注解的@Autowired?

classA 没有添加xml也没有注解到spring中

classB @Component 已经加入注解

如何在classA 中用@Autowired 注解classB?

如果classA也 @Component了,classB可用,但是不注解就会报错。

阿神阿神2813일 전790

모든 응답(4)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:58:21

    SpringContextHolder가 되어 보세요

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:58:21

    @Component는 Spring의 Bean 유형 Annotation입니다. 이 Annotation을 추가한 후에만 Bean이 Spring에 의해 관리됩니다. 이 Annotation을 추가하지 않으면 Spring이 이 클래스를 인식할 수 없으므로 오류가 보고됩니다. 이 주석 이후에 추가되면 Spring은 이 두 클래스가 Spring의 두 개의 Bean이라는 것을 알고 자동으로 서로 주입할 수 있습니다. 봄에 대한 이해가 깊지 않아서 문제가 될 수도 있는 개인적인 의견일 뿐입니다

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 10:58:21

    서비스 이름을 사용하여 applicationContext에서 가져옵니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 10:58:21

    @Autowired는 주입을 사용하려면 클래스를 스프링으로 관리해야 한다는 뜻입니다. 즉, class B도 스프링 빈이어야 하고, class A도 스프링 빈이어야 합니다. class A이 spring bean이 아니기 때문에 spring은 class B 주입을 도울 수 없습니다.
    이 spring bean이 아닌 class Aclass B을 사용하려면 class B만 설정하면 됩니다.

    회신하다
    0
  • 취소회신하다