Spring学习----自动装配@Resource、@Autowired、@Qualifier
直接看下面的代码即可明白:
applicationContext.xml里面添加个bean:
<!--注解的注入 -->
<bean id="student3" class="day01.di.annotations.annotation_di.Student"></bean>
<bean id="person3" class="day01.di.annotations.annotation_di.Person" ></bean>
<!-- 启动依赖注入的注解解析器 -->
<context:annotation-config></context:annotation-config>
java文件里面装配代码:
public class Person {
/*
* @Resource(name="student3")
* private Student student;
*/
/*
* @Resource
* private Student student3;
*/
/*
* @Resource
* private Student studen;
*/
/**
* 注意:在使用@Resource时, 1、优先根据@Resource后面的name属性的值去applicationContext.xml文件里面去找
* id=该值的bean进行装配,这时候如果找不到,就会报错 2、如果name省略不写,会根据注解下面的属性名去寻找然后注入
* 3、如果寻找不到,就会根据我们想要装配的类型去寻找bean
* 总结:先byname,然后bytype,byType是很危险的,如果同类型的多个bean存在于applicationContext.xml文件,那就会报错
*/
/*
* @Autowired //按照类型匹配
* private Student studen;
*/
@Autowired
@Qualifier("student3") // 先按照类型匹配然后按照id匹配(@Qualifier要依赖在@Autowired下面才有用)
private Student studen;
// 注解只能用于引用数据类型
public void say() {
this.studen.say();
}
}
Spring学习----自动装配@Resource、@Autowired、@Qualifier的更多相关文章
- spring的自动装配,骚话@Autowired的底层工作原理
前言 开心一刻 十年前,我:我交女票了,比我大两岁.妈:不行!赶紧分! 八年前,我:我交女票了,比我小两岁,外地的.妈:你就不能让我省点心? 五年前,我:我交女票了,市长的女儿.妈:别人还能看上你?分 ...
- 21、自动装配-@Resource&@Inject
21.自动装配-@Resource&@Inject Spring 还支持使用@Resource(JSR250)和@Inject(JSR330)[Java规范的注解] AutowiredAnno ...
- spring注解-自动装配
Spring利用依赖注入(DI)完成对IOC容器中中各个组件的依赖关系赋值 一.@Autowired 默认优先按照类型去容器中找对应的组件(applicationContext.getBean(Boo ...
- Spring的自动装配和注解
Bean的自动装配 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring的自动装配需要从两个角度来实现,或 ...
- spring的自动装配基础
当开始看别人的代码使用注解的时候,以为照着别人的代码写,也写一个注释就能实现这样的功能,但是,现在开始考虑自动装配时怎样实现的. 首先,如果如果知道如何手动在xml配置中"装配bean&qu ...
- Spring Boot 自动装配(二)
目录 目录 前言 1.起源 2.Spring Boot 自动装配实现 2.1.@EnableAutoConfiguration 实现 2.1.1. 获取默认包扫描路径 2.1.2.获取自动装配的组件 ...
- 五、Spring之自动装配
Spring之自动装配 Spring利用依赖注入(DI),完成对IOC容器中各个组件依赖关系的赋值. [1]@Autowired @Autowired 注解,它可以对类成员变量.方法及构造函数进行 ...
- Spring的自动装配与依赖注入
Spring的自动装配与依赖注入 装配 = 创建Bean + 注入Bean 创建Bean 自动发现 显式注册Bean 注入Bean 基于配置的注入 自动注入 Spring的装配分为显式装配和隐式装配, ...
- spring中自动装配bean
首先用@Component注解类: package soundsystem: import org.springframework.stereotype.Component; @Component p ...
随机推荐
- EasyUI treegrid 加载checked
EasyUI treegrid 加载checked $(function () { $('#tbDictContTree').treegrid({ title: '数据字典目录管理', iconCl ...
- shutil模块,ZipFile 和 TarFile 两个模块
高级的文件.文件夹.压缩包处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中,可以部分内容 shutil.copyfile(src, ...
- thinkphp实现多个子查询语句
sql语句博大精深 理解好sql语句,就能用好thinkphp等框架中的数据库操作 原sql SELECT a.*,b.* from (SELECT a.id as opener_id,a.name, ...
- Linux学习笔记 -- Shell 变量
定义变量 语法: 变量名=值 myVal= 需要注意一下变量明德规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字( ...
- Py修行路 python基础 (八)函数(随时更改)
为何要用函数: 1.解决代码重用的问题 2.提高代码的可维护性,统一维护 3.程序的组织结构清晰,可读性强 定义函数 先定义后使用!!! def funcname(arg1,arg2,.....) ...
- python's ninth day for me
函数 函数的定义与调用: #def 关键字 定义一个函数. # my_len 函数名, 函数名的书写规则与变量的命名一致. # def 与函数名中间一个空格. # 函数名() : 加上冒号. ...
- php SqlServer 中文汉字乱码
php SqlServer 中文汉字乱码,用iconv函数转换 查询显示的时候,从GB转换为UTF8 <?php echo iconv('GB2312','UTF-8',$row['Name'] ...
- Eclipse 代码风格配置
代码风格配置:
- asp.net js 存取cookie
asp.net //传进来的 public BaseController(BaseHttpHandler handler, HttpContext context) // { //根据地址设置cook ...
- 局域网内的一些计算机可以ping通 有些ping不同
如何查看.添加.修改.删除电脑内部路由_百度经验https://jingyan.baidu.com/article/77b8dc7fc611626174eab6cb.html