SpringAnnotation注解之@Resource
@Resource:同样也是注入,默认是按byName,byName找不到的话按byType
|
1
2
3
4
|
@Resourcepublic void setUserDao(UserDao userDao) { this.userDao = userDao;} |
xml文件里,没有一个名字为userDao的bean
|
1
2
3
4
5
6
|
<bean id="userDaoImpl" class="com.fz.annotation.dao.impl.UserDaoImpl"></bean><bean id="userDaoImpl1" class="com.fz.annotation.dao.impl.UserDaoImpl"></bean><bean id="userService" class="com.fz.annotation.service.UserService"></bean> |
此时测试的时候会报错,因为默认按byName,此时是没有名字为userDao的bean的,所以再次按byType,但是byType会出现两个相同类型的bean
所以会报错。
此时,删掉一个bean的定义
|
1
2
3
4
|
<bean id="userDaoImpl1" class="com.fz.annotation.dao.impl.UserDaoImpl"></bean><bean id="userService" class="com.fz.annotation.service.UserService"></bean> |
再次测试的时候就正常,不会报错。
然后,再测试byName
|
1
2
3
4
|
<bean id="userDao" class="com.fz.annotation.dao.impl.UserDaoImpl"></bean><bean id="userService" class="com.fz.annotation.service.UserService"></bean> |
此时测试就没问题,因为这里的bean名称为userDao,和参数的名字setUserDao(UserDao userDao)是一样的。
总结:
1、@Resource可以写在属性上,方法上
2、@Resource:默认按byNmae注入,byName找不到则按byType
3、如果按byType找的话,如果找到多个相同类型的bean,则可以指定name来决定使用哪个bean
@Resource(name="userDaoImpl1")
SpringAnnotation注解之@Resource的更多相关文章
- Spring5:@Autowired注解、@Resource注解和@Service注解
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分 ...
- Spring中@Autowired注解、@Resource注解的区别 (zz)
Spring中@Autowired注解.@Resource注解的区别 Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@ ...
- 04 Spring的@Autowired注解、@Resource注解、@Service注解
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事务,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分 ...
- Spring中@Autowired注解、@Resource注解的区别
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...
- Spring中的Autowired注解和Resource注解的区别
1.所属jar包不同,Autowired是Spring中的Resource是JSR-250规范定义的注解
- 转:Spring中@Autowired注解、@Resource注解的区别
Pay attention: When using these annotations, the object itself has to be created by Spring context. ...
- Spring中 @Autowired注解与@Resource注解的区别
Spring中 @Autowired注解与@Resource注解的区别在Spring 3.X中经常使用到@Autowired和@Resource进行装配.这两个注解的差异在何处???相同点:@Reso ...
- spring autoWire注解和@resource注解区别
1.autoWire注解主要是按类型匹配.因为autowire的扫描机制,是按照接口类型来扫描bean的. 而JSR250 @resource注解是通过名称扫描注入的. @autowire注解的扫描方 ...
- Spring注解:@Resource、@PreConstruct、@PreDestroy、@Component
要使用Spring的注解,必须在XML文件中配置有属性,告诉人家你要使用注解,Spring容器才会去加载类上的注解: <?xml version="1.0" encoding ...
随机推荐
- JS正则表达式从入门到入土(7)—— 分组
分组 在使用正则的时候,有时候会想要匹配一串字符串连续出现多次的情况,比如:我想匹配字符串Byron连续出现3次的情况. 有些人会直接写: Byron{3} 但是,这种情况仅仅会匹配Byro加上三个n ...
- 关于JavaScript对象中的一切(一) -- 对象属性
先上一张我制作的脑图.
- MR案例:外连接代码实现
[外连接]是在[内连接]的基础上稍微修改即可.具体HQL语句详见Hive查询Join package join.map; import java.io.IOException; import java ...
- [翻译]纠正PostCSS的4大认识误区
市面上已经有很多的前端工具,再来引入新的前端工具,价值大不大?这主要取决于,它是否给开发人员提供了新的功能,是否值得花时间和精力去学习和使用? PostCSS出现时有一个很有趣的现象.像sass和le ...
- 【转载】JExcelApi(JXL)学习笔记
在公司的项目中,有excel生成.导出的需求,因此学习了用JXL读写excel,做个简单的笔记,以供参考. 实现用java操作excel的工具,一般用的有两个:一个是JXL,另一个是apac ...
- git介绍及常用命令
Git简介 linus 用C语言编写 2005年诞生 分布式版本管理系统 速度快,适合大规模,跨地区多人协同开发 分布式管理 Git 生态 Git 分布式版本管理系统 Gitlab git私库解决方案 ...
- HTTP协议Keep-Alive模式详解和HTTP头字段总结
1.什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HT ...
- java 枚举的写法
1.第一种形式: public interface PrealertConstants { enum platformCodeEnum{ CAINIAO(1), CLOSED(-5), OFFLINE ...
- VS2012 创建 WebService
1.文件——新建——项目——Visual C#——Web——ASP.NET 空 Web 应用程序. 2.右键项目——添加——新建项——Web——Web 服务. 3.按 F5 启动调试,浏览器将显示接口 ...
- rest 学习总结(最近不间断更新)
一.rest 简单介绍 1.http://www.zhihu.com/question/27785028 2.http://www.cnblogs.com/549294286/p/3524064.ht ...