[Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value
基于注解方式实现属性注入
(1)@AutoWired:根据属性类型进行自动装配
第一步 把service和dao对象创建,在service和dao类添加创建对象注解
第二步 在service注入dao对象,在service类添加dao类型属性,在属性上面使用注解
package com.atguigu.spring.dao;public interface UserDao {public void add();
}
package com.atguigu.spring.dao;import org.springframework.stereotype.Repository;@Repository
public class UserDaoImpl implements UserDao {@Overridepublic void add() {System.out.println("dao add");}
}
package com.atguigu.spring.service;import com.atguigu.spring.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Service(value = "userService")//<bean id = "" class = ""/>
public class UserService {//定义dao类型属性//不需要添加set方法//添加注入属性注解@Autowired //根据类型进行注入private UserDao userDao;public void add(){System.out.println("service add");userDao.add();}}
package com.atguigu.spring.testdemo;import com.atguigu.spring.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5Demo1 {@Testpublic void testService(){ApplicationContext context = new ClassPathXmlApplicationContext("bean6.xml");UserService userService = context.getBean("userService", UserService.class);System.out.println(userService);userService.add();}
}
(2)@Qualifier:根据属性名称进行注入
这个@Qualifier注解的使用,和上面@Autowired一起使用
package com.atguigu.spring.dao;import org.springframework.stereotype.Repository;@Repository(value = "userDaoImpl")
public class UserDaoImpl implements UserDao {@Overridepublic void add() {System.out.println("dao add");}
}
package com.atguigu.spring.service;import com.atguigu.spring.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Service(value = "userService")//<bean id = "" class = ""/>
public class UserService {//定义dao类型属性//不需要添加set方法//添加注入属性注解@Autowired //根据类型进行注入@Qualifier (value = "userDaoImpl")private UserDao userDao;public void add(){System.out.println("service add");userDao.add();}}
(3)@Resource:可以根据类型注入,可以根据名称注入
@Resource//根据类型进行注入
@Resource(name = "userDaoImpl")//根据名称进行注入
(4)@Value:注入普通类型属性
package com.atguigu.spring.service;import com.atguigu.spring.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Service(value = "userService")//<bean id = "" class = ""/>
public class UserService {@Value(value = "abc")private String name;//定义dao类型属性//不需要添加set方法//添加注入属性注解@Autowired //根据类型进行注入@Qualifier (value = "userDaoImpl")private UserDao userDao;public void add(){System.out.println("service add"+name);userDao.add();}}
[Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value相关推荐
- [Spring5]IOC容器_Bean管理注解方式_创建对象
IOC操心Bean管理(基于注解方式) 1.什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3) ...
- [Spring5]IOC容器_Bean管理XML方式_外部属性文件
IOC操作Bean管理(外部属性文件) 1.直接配置数据库信息 (1)配置德鲁伊druid连接池 (2)引入德鲁伊druid连接池依赖jar包 <!--直接配置连接池--><bean ...
- [Spring5]IOC容器_Bean管理注解方式_完全注解开发
完全注解开发 (1)创建配置类,替代xml配置文件 package com.atguigu.spring.config;import org.springframework.context.annot ...
- [Spring5]IOC容器_Bean管理注解方式_组件扫描配置细节
开启组件扫描细节配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...
- [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性
xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 (1)创建类,定义数组,list,map,set类型属性,生成对应set方法 package com ...
- [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性
xml注入其他属性 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String ...
- [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性
IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...
- [Spring5]IOC容器_Bean管理XML方式_自动装配
IOC操作Bean管理(xml自动装配) package com.atguigu.spring.autowire;public class Dept {@Overridepublic String t ...
- IOC操作Bean管理注解方式(注入属性@Autowired和Qualifier)
目录 IOC操作Bean管理注解方式(注入属性@Autowired.@Qualifier和@Resource) 1.基于注解方式实现 属性注入 (1)@Autowired:根据属性类型进行自动装配 第 ...
最新文章
- [Hibernate系列—] 2. 创建SessionFactory 与 Session
- 海信电视root工具_海信璀璨系列家电:一次购买便能享受全方位智能家居生活...
- 26 Java GC算法 垃圾收集器、标记 -清除算法、复制算法、标记-压缩算法、分代收集算法
- linux日志文件备份,linux配置文件、日志文件全备份
- 买苹果---动态规划
- 返璞归真-SOC起源
- shell表达语句中,各种符号的释义 用法
- 千万IOPS背后,宏杉科技“MS7000G2-Mach”为金融核心业务赋能
- 关于cups打印管理详细整理
- 源代码(二)_尚学堂学习
- facebook应用中_如何从Facebook应用程序的快捷方式栏中删除图标
- 人群密度估计最新数据集NWPU-Crowd 最新研究进展
- linux里关于Tab/Ctrl/Shift/Insert的快捷键
- 银保监会回应中国金融机构数据被公开售卖:绝大部分系黑客伪造拼凑
- 时间序列-ARIMA
- Mysql 5.7 表名大写遇到的坑 error: 1146: Table 'your_table' doesn't exist
- bin文件夹是个什么东西?
- DYA8面向对象中--包与修饰符
- JPA事务问题Executing an update/delete query
- java 不是封闭类_java – 不是一个封闭的类错误Android Studio
热门文章
- [转]IIS7全新管理工具AppCmd.exe的命令使用
- 数据结构与算法:终于可以用三种语言(C,C#,JavaScript)把图的广度优先遍历讲清楚了(推荐收藏)
- linux之可视化查看磁盘大小并且删除大文件
- linux网络编程之用一张图片说明函数inet_ntop、inet_pton、inet_addr、inet_ntoa 、inet_aton函数之间的关系
- Android之Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- java requestbody map_@RequestBody 的正确使用办法
- 07-狄克斯特拉算法
- ​“北斗女神”徐颖,32岁成为中科院最年轻的博导!
- 没有女朋友,可能是因为你数学不好
- 这才是真正的蛙泳,还挺能蹦跶......