Autowired 采用的是ApplicationContext.getBean(Class) 函数,根据接口类型注入,也就是说有多个相同类型的实例的话,就会报错了 Resource 采用ApplicationContext.getBean(String name)函数,根据托管实例的名称注入,同样相同名字的实例只能有一个 另外就是底层实现机制的不同,我记得根据spring文档上的说明,AOP环境中,Autowired采用了cglib进行代理构建,而Resource采用java代理进行构建 再有就是,对于其他可能的IoC框架而言,采用Resource可以实现平滑过滤,而Autowired是spring自身的实现注解,不能对其他框架提供兼容
spring 3推荐用Autowired
一般按名称来
[quote=引用 4 楼 h82204 的回复:] @Autowired @Resource都可以 Autowired默认按类型装配 Resource默认安装名称进行装配
@Autowired @Resource都可以 Autowired默认按类型装配 Resource默认安装名称进行装配
@Resource(name = "allRoleService") private AllRoleService allRoleService;
67,550
社区成员
225,863
社区内容
加载中
试试用AI创作助手写篇文章吧