@Autowired与@Resource的使用方法和差别
一、@Autowired:
1、Spring 2.5 引入了 @Autowired 凝视,它能够对类成员变量、方法及构造函数进行标注,完毕自己主动装配的工作。 通过 @Autowired的使用来消除 set 。get方法。
这个注解就是spring能够自己主动帮你把bean里面引用的对象的setter/getter方法省略。它会自己主动帮你set/get。
<bean id="userDao" class="..."/>
<bean id="userService" class="...">
<property name="userDao">
<ref bean="userDao"/>
</property>
</bean>
这样你在userService里面要做一个userDao的setter/getter方法。
但假设你用了@Autowired的话,你仅仅须要在UserService的实现类中声明就可以。
@Autowired
private IUserDao userdao;
PS:
1、@Autowired是依据类型进行自己主动装配的。
2、@Autowired也能够手动指定依照byName方式注入,使用@Qualifier标签,比如:
@Autowired() @Qualifier("baseDao")
private BaseDao baseDao;
byName自己主动注入。
所以假设使用name属性,则使用byName的自己主动注入策略,而使用type属性时则使用byType自己主动注入策略。假设既不指定name也不指定type属性,这时将通过反射机制使用byName自己主动注入策略。
1.假设同一时候指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
3.假设指定了type,则从上下文中找到类型匹配的唯一bean进行装配。找不到或者找到多个,都会抛出异常
都能够写在字段上,或写在setter方法上。
2、@Autowired默认按类型装配(这个注解是属业spring的)。默认情况下必需要求依赖对象必须存在,假设要同意null 值,能够设置它的required属性为false。
假设没有指定name属性,当注解写在字段上时。默认取字段名进行依照名称查找。假设注解写在setter方法上默认取属性名进行装配。
当找不到与名称匹配的bean时才依照类型进行装配。可是须要注意的是,假设name属性一旦指定,就仅仅会依照名称进行装配。
@Resource注解在字段上,这样就不用写setter方法了,而且这个注解是属于J2EE的,降低了与spring的耦合。
@Autowired与@Resource的使用方法和差别的更多相关文章
- @Autowired与@Resource的差别
1.@Autowired与@Resource都能够用来装配bean. 都能够写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...
- @Autowired 与@Resource的区别
1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2 @Autowired默认按类型装配(这个注解是属业spring的),默认情况下 ...
- java @Autowired与@Resource的区别
@Autowired与@Resource的区别 1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认 ...
- @Autowired与@Resource的区别
1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...
- Spring 注释 @Autowired 和@Resource
一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired属于Spring的:@Resource为JSR-250标准的注释,属于J ...
- Spring 注释 @Autowired 和@Resource 的区别
Spring 注释 @Autowired 和@Resource 的区别 一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired ...
- Spring注解@Component、@Repository、@Service、@Controller,@Autowired、@Resource用法
一.Spring定义bean,@Component.@Repository.@Service 和 @Controller Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥 ...
- @Autowired与 @Resource
@Autowired, @Resource 1.注解类型: Autowired可用于构造器.属性.方法.注解 @Target({ElementType.CONSTRUCTOR, ElementType ...
- @Autowired 和 @Resource
转自:Spring中@Autowired注解.@Resource注解的区别 Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resourc ...
随机推荐
- 《Java编程思想》笔记 第八章 多态
1.向上转型 把子类引用当作父类引用.(子类对象赋值给父类引用) 2.绑定 确定方法属于哪个类. 3.前期绑定 程序执行前绑定. 4.后期绑定也叫动态绑定 程序运行时绑定. 5.多态 多个不同的对象对 ...
- 使用maven进行Javadoc下载
project -> maven -> Download Sources and Download JavaDocs
- 开放API端口SIGN算法详细设计
开放API端口SIGN算法详细设计 前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要 ...
- 关于JAVA的守护进程
Java有两种线程:守护线程(Daemon Thread)与 用户线程(User Thread) 任何Java线程都可以是守护线程(Daemon Thread)或者 用户线程(User Thread) ...
- Python:文件操作技巧(File operation)(转)
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/dow ...
- ubantu对pycharm创建快捷方式
如果你刚开始没有建立快捷方式自己建立一个快捷方式,方法如下 终端输入:sudo gedit /usr/share/applications/Pycharm.desktop粘贴模板: [Desktop ...
- python3爬虫爬取猫眼电影TOP100(含详细爬取思路)
待爬取的网页地址为https://maoyan.com/board/4,本次以requests.BeautifulSoup css selector为路线进行爬取,最终目的是把影片排名.图片.名称.演 ...
- 【计算几何】【二分答案】【最大流】bzoj1822 [JSOI2010]Frozen Nova 冷冻波
用三角形面积什么的算算点到直线的距离之类……其实相切的情况是可行的……剩下的就跟某SDOI2015一样了. #include<cstdio> #include<cmath> # ...
- NPOI读取Excel2003,2007
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...
- 十面阿里 Java 程序员,最终拿下阿里 P6 offer!
转子:https://mp.weixin.qq.com/s/RkMxPbm8E99-rTZKmvBy6Q 今天介绍小编的一个朋友,他现今有四年开发经验了,前前后后为了进阿里面试十次(阿里旗下—蚂蚁金服 ...