文档章节

spring @Resource 和 @Autowired 的使用区别

之渊
 之渊
发布于 07/19 17:30
字数 318
阅读 4
收藏 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
博文 508
码字总数 150392
作品 0
佛山
程序员
Spring组件注解和注入注解内部方式的区别

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

思悟修
2015/08/12
0
0
Spring下的@Inject、@Autowired、@Resource注解区别(转)

1、@Inject javax.inject JSR330 (Dependency Injection for Java) 这是JSR330中的规范,通过AutowiredAnnotationBeanPostProcessor类实现的依赖注入。 @Inject使用 如下是@Inject的使用,不......

easonjim
2017/10/24
0
0
@Autowired与@Resource的区别

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

随智阔
2014/03/07
0
1
spring @Autowired 与@Resource的区别

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

xf_xin
2012/12/03
0
0
Spring 注解 @Resource和@Autowired

Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource、 @PostConstruct及@PreDestroy。 1. @Autowired @Autowired是Spring 提供的,需导入 Package:...

zahschusheng
2015/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS三元运算示例

1. topFlag=topFlag ==0?1:0; 等于 if(topFlag=00){ topFlag=1; }else if(topFlag == 1){ topFlag=0; } 2. 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3大')}; 注......

森火
今天
0
0
利用Slf4j的MDC跟踪方法调用链

why? 一个web项目通常提供很多URL访问地址, 项目一般都是分层处理,例如Controller——>Service——>DAO。 如果想根据日志查看用户一次请求都走了哪些方法(多数是查错误)。 如果系统是多人...

杨春炼
今天
9
0
Maven介绍及安装

Maven介绍及安装 以下内容是本人早期学习时的笔记,可能比较详实繁琐,现在复习一下Maven,顺便将内容抛出来,供大家一起学习进步。 一、Maven简介 Maven是Apache旗下的一款项目管理工具,是...

星汉
今天
0
0
小程序Aes解密

主要步骤: 1、下载AES源码(JS版) 2、在小程序中新建一个公共的文件夹,把AES源码拷贝进去(注意:需要暴露接口 module.exports = CryptoJS;) 3、添加一个用于加密解密的公共JS,可取名为...

Mr_Tea伯奕
今天
0
0
Go实现文件传输(基本传输可用)

发送端 package mainimport ("fmt""os""net""io")func SendFile(path string, connect net.Conn){file, oerr :=os.Open(path)if oerr !=nil{fmt.Println("Open", oerr)......

CHONGCHEN
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部