Spring的bean管理(注解注入属性)
前面我们讲了 IOC 的注入属性(Spring IOC注入详解),现在我们来介绍通过注解注入属性的方法。
1 创建service类,创建dao类,在service得到dao对象
注入属性第一个注解 @Autowired
(1)创建dao和service对象
(2)在service类里面定义dao类型属性
这里的注解的目的是自动导入 dao对象,而不需要set方法
- public void setUserDao(UserDao userDao) {
- this.userDao = userDao;
- }
第一种注解是:@Autowired
第二种注解是:@Resource
2、关于 @Autowired 和 @Resource区别
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。 @Resource装配顺序 1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常 3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常 4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配; |
3、具体代码如下
(1)bean1.xml
- <!--开启注解扫描-->
- <context:component-scan base-package="com.liuyanzhao.anno"></context:component-scan>
(2)UserDao.java
- package com.liuyanzhao.anno;
- import org.springframework.stereotype.Component;
- @Component(value = "UserDaoId")
- public class UserDao {
- public void add() {
- System.out.println("dao....add.......");
- }
- }
(3)UserService
注解一:
- package com.liuyanzhao.anno;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- @Service(value = "UserServiceId")
- public class UserService {
- //得到dao对象
- //在dao属性上面使用注解完成对象注入
- @Autowired //自动把这对象注入,相当于 set 方法
- private UserDao userDao;
- public void add() {
- System.out.println("service.....add.......");
- userDao.add();
- }
- }
注解二:
- package com.liuyanzhao.anno;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- @Service(value = "UserServiceId")
- public class UserService {
- //得到dao对象
- //在dao属性上面使用注解完成对象注入
- //name属性值写 注解创建dao对象 value值
- @Resource(name="UserDaoId")
- private UserDao userDao;
- public void add() {
- System.out.println("service.....add.......");
- userDao.add();
- }
- }
参考:传智播客视频
本文链接:https://liuyanzhao.com/5642.html
Spring的bean管理(注解注入属性)相关推荐
- Spring的bean管理注解和配置文件混合使用
https://blog.csdn.net/zhupengqq/article/details/72811265 转载于:https://www.cnblogs.com/feifeicui/p/897 ...
- IOC操作Bean管理注解方式(注入属性@Autowired和Qualifier)
目录 IOC操作Bean管理注解方式(注入属性@Autowired.@Qualifier和@Resource) 1.基于注解方式实现 属性注入 (1)@Autowired:根据属性类型进行自动装配 第 ...
- (转)Spring的bean管理(注解方式)
http://blog.csdn.net/yerenyuan_pku/article/details/69663779 Spring的bean管理(注解方式) 注解:代码中的特殊标记,注解可以使用在类 ...
- JAVA_OA管理系统(四)番外篇:使用Spring注解注入属性
本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@Pos ...
- IOC操作Bean管理注解方式(创建对象)
目录 IOC操作Bean管理注解方式(创建对象) 1.什么是注解 2.Spring 针对 Bean 管理中创建对象提供注解主要有以下四种 (1)@Component (2)@Service (3)@C ...
- Spring中Bean管理操作基于XML配置文件方法实现
Spring中Bean管理操作基于XML配置文件方法实现 基于XML配置文件方式实现 1.基于`xml`方式创建对象 2.基于`xml`方式注入属性 1.创建类,定义属性和对应的set方法 2.在Sp ...
- 五篇教你掌握spring之三:详解Spring的bean以及注解开发
详解Spring的bean以及注解开发 各种复杂类型的依赖注入 我们采用一个类的大杂烩的形式,新建一个Student package com.lwh.pojo;import java.util.*;p ...
- IOC操作Bean管理注解方式(完全注解开发)
IOC操作Bean管理注解方式(完全注解开发) (1)创建配置类,替代xml配置文件 需要让Spring 把一个普通的类认为是配置类 结构图: SpringConfig类代码如下: package c ...
- IOC操作Bean管理注解方式(组件扫描配置)
IOC操作Bean管理注解方式(组件扫描配置) 开启组件扫描的 细节配置 约定那些类可以扫描,哪些类不可以扫描 bean1.xml配置如下: <?xml version="1.0&qu ...
- spring项目属性注入和bean管理xml 注入一般属性和集合属性
IOC 介绍: 在Spring的应用中,Spring IoC容器可以创建.装配和配置应用组件对象,这里的组件对象称为Bean. Bean的实例化 在面向对象编程中,想使用某个对象时,需要事先实例化该对 ...
最新文章
- 图文讲解,团队开发中的 Git 最佳实践
- python按键盘上哪个键运行_python通过按下键盘特定按键,开始运行python文件
- 使用FluentValidation来进行数据有效性验证
- SQL点滴26—常见T-SQL面试解析
- spring 长轮询_Spring集成文件轮询和测试
- java什么是类和对象,Java类和对象的概念
- html经历了几个版本,HTML 的上一个版本诞生于 1999 年. 自从那以后, Web 世界已经经历了巨变....
- Children’s Queue
- GO 语言博客 搬家部署,NGINX作为代理
- python SVG图片转PNG
- 如何把握银行信息科技风险管理的“度”?
- 【MongoDB】索引属性 之 唯一索引
- 努比亚(nubia) M2青春版 NX573J 解锁BootLoader 并进入临时recovery ROOT
- 1487C - Minimum Ties
- 苹果支付返回html,苹果应用内支付,服务器端的实现
- 18日精读掌握《费曼物理学讲义-卷一》计划(2019/6/12-2019/6/29)
- Kibana聚合操作
- 如何破解EXCEL的单元格保护密码
- 世界过敏性疾病日 | 儿童过敏性鼻炎校园筛查启动
- Share实例:用python将ppt转为pdf