文档章节

spring @Resource 和 @Autowired 的使用区别

之渊
 之渊
发布于 2018/07/19 17:30
字数 318
阅读 15
收藏 6

这两个 注解 @Resource 和 @Autowired ,

常识都知道  @Resource 是 JAVAEE 自带的,@Autowired 是 spring 的自定义注解。

一般情况下, 使用 bean的时候, 这两个注解 随便使用一个即可。

 

但是 一个 接口, 有两个实现类呢, 这时候,注入的时候 ,这两个注解怎么使用?

接口
public interface ITestService {

实现类
@Service
public class TestService implements ITestService {


实现类2
@Service
public class Test2Service implements ITestService {


使用 
@Autowired
private ITestService test2Service;

表示 注入的是  Test2Service 类。

如果是 
@Autowired
private ITestService testService;
表示注入的是  TestService 类。

也就是 名称是对应的 实现类名小写即可。如果是 其他名称会报错,在有多个实现类的情况下。
如果只有 一个实现类,那么  注入的时候,名称随便写都是可以的
因为 spring 默认是单例的,同时bean 的名称默认就是 小写的类名。


同理 @Resource 带上 name  指定对应的 实现类名小写即可
@Resource(name = "testService")
	private ITestService test2Service;

 

 

 

© 著作权归作者所有

共有 人打赏支持
之渊
粉丝 11
博文 551
码字总数 161987
作品 0
佛山
程序员
私信 提问
Spring组件注解和注入注解内部方式的区别

一、@Component、@Repository、@Service、@Controller区别 Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。...

思悟修
2015/08/12
0
0
@Autowired与@Resource的区别

1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果...

随智阔
2014/03/07
0
1
【Spring】Autowiredd原理及与Resource注解区别

Autowired注解 Autowired顾名思义,表示自动注入,如下是Autowired注解的源代码: 从Autowired的实现可以看到,Autowired可以用于类的构造方法,类的字段,类的方法以及注解类型上,但是Aut...

weknow
2018/03/06
0
0
spring @Autowired 与@Resource的区别

Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 @Resource的作用相当于@Autowired,只不过@Autowire...

xf_xin
2012/12/03
0
0
@Autowired 与@Resource的区别(详细)

@Autowired 与@Resource的区别 spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 @Resource的作用相当于...

inidcard
2018/09/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
52分钟前
6
0
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
8
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部