java - spring boot @Autowired
阿神
阿神 2017-04-18 10:56:21
0
4
779

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

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

classB @Component 已经加入注解

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

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

阿神
阿神

闭关修行中......

모든 응답(4)
伊谢尔伦

SpringContextHolder가 되어 보세요

Peter_Zhu

@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 Aclass B을 사용하려면 class B만 설정하면 됩니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿