开发者社区> 问答> 正文

Spring@Autowired自动装配的成员变量为空?

通过反射调用的类中使用Spring@Autowired自动装配的成员变量为空;就是SpringMVC中,使用了@Autowired注释,自动装配成员变量,正常情况下没有问题,但是当这个类通过java的反射机制调用时,自动装配失败,成员变量时空值,出现空指针异常。有没有大神知道原因或者解决办法? 已经困扰我很久了,多谢多谢!

展开
收起
蛮大人123 2016-02-22 10:46:21 5162 0
2 条回答
写回答
取消 提交回答
  • 你通过反射调用,相当于和spring没有关系了。通过spring的@Autowired的对象当然是空的了

    2019-07-17 18:46:27
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    有一个问题,你是如何通过反射机制调用的。如果是自己通过反射建立的新对象,注入肯定不生效;就像你自己通过new建立一个新对象,这个对象里的注入是不生效的,除非你使用@Configurable注解之类的配置。
    参考:http://stackoverflow.com/questions/19896870/why-is-my-spring-autowired-field-null

    2019-07-17 18:46:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多