Spring(1)

6核心:

  • IOC:把创建对象的过程交给Spring容器
  • AOP:面向切面,不该源代码进行功能增强

特点:

  • 方便解耦,简化开发
  • Aop编程
  • 方便测试
  • 方便事务管理
  • 降低API分装

在这里插入图片描述

IOC

底层原理:xml,工厂,反射
高耦合
在这里插入图片描述

  • 工厂模式,低耦合度
    在这里插入图片描述

在这里插入图片描述
配置xml文件
通过解析获取地址
反射forname方法创建对象
newInstance返回对象

  • IOC接口
    IOC底层就是对象工厂
    Spring提供IOC容器两种方式
    1.BeanFactory:IOC容器基本实现,是内部使用,不提供给开发人员
    加载配置文件不会创建对象,在获取对象(使用)才会创建对象
    2.ApplicationContext:BeanFactory子接口,提供了更多强大的接口
    加载配置文件就会把文件对象进行创建
    在这里插入图片描述
    接口实现类

bean管理

bean的两个操作
Spring创建对象
Spring注入属性

管理方式:

  • 基于xml
    在这里插入图片描述
    属性:
    id:唯一标识
    class:类全属性
    name:唯一标识(可以加特殊属性用于stust)
    创建对象时候,默认也是执行无参构造方法

基于xml

注入属性:基于xml,DI:依赖注入(必须在对象创建之前实现)
1.通过set方法注入:创建类与set方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.通过有参构造器
有参构造器构造
在这里插入图片描述
3.p名称空间注入,可以简化xml配置方式
在这里插入图片描述
在这里插入图片描述
4.注入其他属性
1.null
在这里插入图片描述

2.特殊符号
在这里插入图片描述
要么转义要么用CDATA

5.注入外部bean:service层与DAO层
在service调用dao(dao注入service)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.注入内部bean 实体类表示一对多的关系,员工属于部门,使用对象属性进行表示在这里插入图片描述
在这里插入图片描述
7.级联赋值
在这里插入图片描述
就是改用了外部bean方法,用ref关键字注入

Spring有两种bean,一种为普通bean,另外一种是bean(FactoryBean)
:配置文件定义的bean类型就是返回类型
工厂bean:返回类型可以不一样

  • 创建类,让类作为工厂bean,实现接口FactoryBean
  • 实现接口里面的方法,在实现的方法中定义返回类型
    在这里插入图片描述
    工厂实现之初
    在这里插入图片描述

bean生命周期与作用域

1.Spring中设置的bean是单实例(只有一个对象)还是多实例(每次都是建一个对象)
在这里插入图片描述
默认是单实例
2.设置为多实例
Spring配置文件bean标签里面有属性(scope)用于设置单实例还是多实例
默认值:singleton单实例,加载spring配置文件时就会产生单实例对象
在这里插入图片描述

prototype多实例,在调用getbean创建多实例对象
request:一次请求
session:一次会话

生命周期:一个对象从创建到销毁
1.通过构造器创建bean实例(无参构造器)
2.对bean的属性设置值,或者对其他bean的引用(set方法)
3.调用bean初始化方法(需要配置)
4.bean可以使用了(对象获取了)
5.当容器关闭了,调用bean的销毁方法(需要配置)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.7bean的后置处理器
1.通过构造器创建bean实例(无参构造器)
2.对bean的属性设置值,或者对其他bean的引用(set方法)
3.把bean实例传递给bean的后置处理器方法
4.调用bean初始化方法(需要配置)
5.把bean实例传递给bean后置的处理器方法
6.bean可以使用了(对象获取了)
7.当容器关闭了,调用bean的销毁方法(需要配置)

后置处理器:
1.创建类,实现接口beanpostprocessor:后置处理器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值