java - spring boot @Autowired

 手机用户2502875921 发布于 2022-10-26 22:53

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

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

classB @Component 已经加入注解

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

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

4 个回答
  • @Autowired是表示注入, 要使用注入, 你的类必须交给spring管理, 意思就是你的class B必须是是一个spring的bean, class A也必须是一个spring的bean, 你报错就是因为你的class A不是一个spring的bean, spring无法帮你注入class B.
    如果要在不是spring bean的class A中使用class B只能手动把class Bset进去.

    2022-10-27 01:20 回答
  • 从 applicationContext 中用 service 名获取。

    2022-10-27 01:20 回答
  • @Component 是spring的一个bean类型的注解,添加有这个注解之后才会将该bean由spring管理,如果不加这个注解的话,spring就无法识别这个类,所以就会报错,如果加上这个注解之后spring就知道这两个类是spring中的两个bean,可以相互进行自动注入。 对spring的理解还不够深刻,说的可能有问题,仅仅是个人见解

    2022-10-27 01:20 回答
  • 做个SpringContextHolder

    2022-10-27 01:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有