Spring-IOC

IOC容器

IOC即控制反转:把对象创建和对象之间的调用过程,交给Spring进行管理;
目的:使用IOC可以降低耦合度。

一、IOC底层原理

xml解析+工厂模式+反射

1、原始的方法:UserService类中的方法execute想要调用UserDao类中的add方法的做法。耦合度很高!!
在这里插入图片描述
2、IOC过程:
在这里插入图片描述

二、IOC接口

IOC思想基于IOC容易完成,IOC容器底层就是对象工厂
Spring提供了IOC容器实现的两种方式(2个接口):
(1)BeanFactory:Spring内部的使用接口,不提供开发人员使用;
    加载配置文件时不会创建对象,在获取对象(使用)才去创建对象。
(2)ApplicationContext:BeanFactory接口的子接口, 提供更多更强大的功能,一般由开发人员使用;
    加载配置文件的时候就进行对象的创建。 	

三、IOC操作Bean管理

Q:什么是Bean管理?
A:指的是两个操作:Spring创建对象+Spring注入属性

bean的生命周期
1.通过构造器创建bean实例(无参数构造)
2.为bean的属性设置值和对其他bean引用(调用set方法)
3.调用bean的初始化方法(需要进行配置)
4.beaan可以使用了(对象获取到了)
5.当容器关闭时候,调用bean的销毁方法(需要进行配置销毁的方法)

1、IOC操作Bean管理(基于xml方式)

(1)基于xml方式创建对象
在这里插入图片描述
在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象的创建;创建对象的时候,默认也是执行无参数构造方法。
bean标签里常用属性:

属性名作用
id唯一标识
class类全路径(包类路径)

(2)基于xml方式注入属性
DI:依赖注入,就是注入属性

第一种注入方式:使用set方法进行注入

  1. 创建类,定义属性和对应的set方法
    在这里插入图片描述
  2. 在spring配置文件中配置对象创建,配置属性注入
    在这里插入图片描述
    第二种方式:有参构造注入

1.创建类,定义属性,创建属性对应有参数构造方法
在这里插入图片描述
2.在spring配置文件中进行配置
在这里插入图片描述
在xml注入其他类型属性:
1.字面量
(1)null 值
在这里插入图片描述
(2)属性值中包含特殊字符
在这里插入图片描述
2.集合属性
详细查看此篇博客
(1)注入数组类型属性
(1)注入List集合类型属性
(1)注入Map集合类型属性

2、IOC操作bean管理(基于注解方式)

2.1:什么是注解

(1)注解是代码的特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)
(2)使用注解,注解作用在类、方法、属性上都可以
(3)使用目的:简化xml配置

2.2:Spring针对Bean管理中创建对象提供注解

(1)@Component
(2)@Service
(3)@Controller
(4)@Repository
注:上边的四个注解功能是一样的,都可以用来创建bean实例

2.3:基于注解方式实现对象创建

(1)引入aop的依赖jar包
(2)开启组件扫描
扫描多个包:
方法1:在这里插入图片描述
方法2
在这里插入图片描述
(3)创建类,在类上面添加创建对象注释
在这里插入图片描述

2.4:基于注解方式实现属性注入
(1)@AutoWired:根据属性类型进行自动装配
(2)@Qualifier:根据属性名称进行注入
(3)@Resource:可以根据类型注入,也可以属性名称进行注入
(4)@Value:注入普通类型属性

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值