Risve
2021-04-27 15:54
采纳率: 100%
浏览 133
已采纳

spring注解@Autowired的失效

当工具类没有注解时,里面的@Autowired失效,大概是因为spring容器装配Bean之前工具类就加载的原因。

当加了注解后,应该是跟着spring的装配走了,@Autowired顺利找到对应的Bean进行注入,结果是成功的。

疑问:当工具类里面需要使用spring容器的Bean时,一般在生产环境上怎么解决比较优雅可行?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • Dan淡淡的心 2021-04-27 16:43
    已采纳

    1. 只有被spring管理的类才可以注入

    2.只有类修饰了@service 、@Controller、@Configuration...注解的类或者在xml配置文件中配置为bean的才会被spring管理

    3. 工具类中的功能耦合性一般都比较低,可以在其他方法中直接new对象调用,或者类方法直接调用

    4. 真的需要注入对象就使用spring注解就好,也可以在方法中传递对象到工具类中使用。

    5. 没有什么优雅不优雅的,先保障功能,再确保效率,最后再考虑代码写的好不好看。

    评论
    解决 1 无用
    打赏 举报
查看更多回答(5条)

相关推荐 更多相似问题