一个初学者对spring的总结

核心容器提供Spring框架的基本功能。
Spring以bean的方式组织和管理Java中的各个组件和关系。
容器用来装javaBean。
spring容器通过单例设计模式+工厂设计模式+反射的机制来加载获取类对象。
java中单例设计模式定义:"一个类有且仅有一个实例,并且自行实例化向整个系统提供"
Inversion Of Controller 控制反转
把创建对象的权利反转交给了spring,这一过程就叫做控制反转
在spring中加载对象,就是通过反射加载
容器创建方式
使用了ClassPathXmlApplicationContext子类对象
加载对象有三种方式
第一种方式:
默认构造器

第二种方式:
使用静态工厂来创建对象创建静态工厂类

第三种方式
通过实例工厂来创建对象,有点复杂,不过可以在实例工厂初始化对象之前加一些自己的其他骚操作。

bean的属性作用域scope:
默认为单例模式.
prototype : 多例
singleton: 单例
生命周期: 初始化和销毁
初始化:init-method=""
创建的时候调用
销毁的方法: destroy-method=""
在容器关闭的时候被调用
初始化和销毁的方法都是我们自己写的
ApplicationContext是一个接口没有close()方法
在他的实现类ClassPathXmlApplicationContext中才会有close()方法
频繁的打开和关闭容器会让性能很低
IOC控制反转
将创建对象的权利交给spring来完成
spring通过反射来加载对象
先配置bean容器,
然后再加载bean容器由bean容器加载对象初始化对象.
把我们对对象属性赋值的过程交给spring
就是spring给对象属性赋值的一个过程
普通属性赋值两种,
构造器,get,set两种
DI也是这两种
先有IOC,再有DI,即先有创建对象,再有属性赋值
赋值对象属性通过ref来进行引用日期Date也需要
bean没有配置id,
也可以获取对象,通过.class反射的方法来获得对象
赋值方式
通过构造器来为属性赋值

猜你喜欢

转载自www.cnblogs.com/lll16634423300/p/10452690.html