@Resource@@Inject和Autowired区别

@Resource和@Autowired注解都是用来实现依赖注入的。只是@AutoWried按by type自动注入,而@Resource默认按byName自动注入。

@Resource有两个重要属性,分别是name和type

spring将name属性解析为bean的名字,而type属性则被解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,如果使用type属性则使用byType的自动注入策略。如果都没有指定,则通过反射机制使用byName自动注入策略。

‘@Autowired’ 和 ‘@Inject’这两个注解的效果是相同的。这两个注解都用了 AutowiredAnnotationBeanPostProcessor 去注入依赖。‘@Autowired’ 和 ‘@Inject’可以交换着使用去注入bean。但是‘@Resource’ 注解使用‘CommonAnnotationBeanPostProcessor’去注入依赖。虽然它们使用了不同的处理器类,但是它们的效果都是几乎一样的。

posted @   小知IT  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示