Spring5——IOC

目录

一.ioc概念和原理

二.bean管理(基于xml)

1.什么是bean管理

1.1 创建对象

1.2 注入属性

2. 注入属性的方法

2.1 属性是基本数据类型

2.2 属性是其他类

2.3 属性是集合

3.FactoryBean

4.bean作用域、生命周期

4.1 作用域

4.2 生命周期

 5. xml自动装配(autowire)

6. 引入外部属性文件

三.bean管理(基于注解方式)

1. 四个创建对象注解

2.过程

3.属性注入


 

一.ioc概念和原理

想在sevice中调用dao,目的降低二者的耦合度

 ioc底层原理:xml解析,工厂模式,反射

 

二.bean管理(基于xml)

1.什么是bean管理

1.1 创建对象

1.2 注入属性

2. 注入属性的方法

2.1 属性是基本数据类型

        2.1.1 通过set方法注入

        2.1.2 通过有参构造器注入

        2.1.3 p名称空间注入

        2.1.4 字面量(属性的固定值)

                null、特殊符号

2.2 属性是其他类

        2.2.1 外部bean,就是属性是别的类

        2.2.2 内部bean

       内部bean和外部bean的区别:

        外部bean:直接在beans标签内部直接定义的bean对象,外部bean可以被多个bean对象引用

        内部bean:在某个bean标签的内部定义的bean对象,内部bean只能被某个对象的某个属性引用。

        2.2.3 级联赋值

        级联赋值和外部bean的区别:

        在引入外部Bean的同时,给外部Bean设置了属性。

2.3 属性是集合

        2.3.1 集合中是基本数据类型

        2.3.2 集合中是对象类型

        2.3.3 想把集合供多个类使用

3.FactoryBean

普通bean:返回的类型和配置文件中定义的类型相同

FactoryBean:返回的类型和配置文件中定义的类型不同

实现FactoryBean接口

实现getObject方法,定义返回bean

4.bean作用域、生命周期

4.1 作用域

所谓作用域就是单实例还是多实例

单实例就是创建两个book对象,指向的地址是相同的,多实例反之

通过scope=“prototyope”可以改变成多实例(默认是单实例singleton)

单实例的时候,加载spring配置文件的时候就会创造单实例对象

多实例在调用getBean方法时候创造多实例对象

4.2 生命周期

4.2.1 正常有五步

 初始化方法和销毁方法要做配置

4.2.2 加入后置处理器,实现接口BeanPostProcessor

有7步,分别在(3)前后

加入到xml后会为配置文件中所有的配置加上后置处理器。

 5. xml自动装配(autowire)

根据属性名称(beanid与类中属性名称相同)/属性类型

6. 引入外部属性文件

通过property,引入数据库中的数据

三.bean管理(基于注解方式)

1. 四个创建对象注解

@Component

@Service

@Controller

@Repository

2.过程

引入依赖->开启组件扫描->创建类,再类上添加创建对象注解->

组件扫描可以决定只扫描某个注解,也可以决定不扫描某个注解

3.属性注入

@Autowired 根据类型注入

@Qualifier 根据名称注入(要配合Autowired一起使用)

@Resource 可以根据类型也可以根据名称

@Value 注入普通类型属性(字符串等)

4.完全注解开发

创建配置类,替代xml配置文件

@Configuration 声明这是个配置类

@ComponentScan 开启扫描

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值