复习spring

1.spring框架的概念:

IOC:inverse of control 控制反转:
过去我们创建类对象 都是通过在代码中 new的形式 进行创建 对象的,有了 spring框架之后我们把创建以及存储管理对象的过程交由 spring框架进行管理这个过程我们称之为控制反转就是 IOC
DI(dependency injection)依赖注入 :
所谓依赖注入也是对于类属性而言的注入 只不过是一种特殊的注入,当一个类的属性是引用类型的时候 而这种引用类型又恰巧是我当前spring容器中含有的类对象则我在spring容器中直接通过 ref属性 指向 该 对象引用地址(其实就是ID值)即可实现将该引用类型的值set给我当前类属性

2.scope属性

通常情况下 的值有两个 一个叫做singleton 一个叫做 prototype
通常情况下如果默认不去设置scope属性的话 scope属性默认值为singleton
当scope的值为singleton的时候 指的是 当前该类对象在spring容器中的值 是唯一的 是符合单模式的
当scope的值为prototype的时候 指的是每次从 spring容器中获取该类对象 都会给我新建一个对象值返回给我

3.lazy-init属性(延迟加载)

默认情况下(不配置lazy-init情况下 默认值为false) 如若 设置为true则 不跟随spring容器初始化马上创建对象而是要使用对象的时候 再去进行创建
init-method
destroy-method
这两个 属性 跟随的值 都是对应bean中的方法名 : 初始化对象(调用构造函数)后第一个执行的方法 就是init-method指定的方法
销毁对象之前最后执行的方法就是destroy-method指定的方法

4.单例模式:

所谓单例模式 指的是 一个类对象 在整个应用执行过程中有且只有一个实例化对象 实现单例模式:
a.构造函数私有化
b.创建静态的全局变量
c.创建public的 静态的 获取对象的方法 在方法中进行业务逻辑判断 判断该对象是否已经创建如若创建直接返回
单例模式分为懒汉模式与饿汉模式 :

懒汉模式:创建对象在方法里

	    public  static   User  user;
	    private  User(){}
	    public   static  User getUser(){
	        if(user!=null){
	            return  user;
	        }else{
	            user=new  User();
	            return  user;
	        }
	    }  

饿汉模式://创建对象写在方法外

	    public  static   User  user=new  User();
	    private  User(){}
	    public   static  User getUser(){
	        return   user;
	    }
    分析懒汉模式 与饿汉模式的区别:懒汉模式创建对象发生在调用获取对象方法的时候  而 饿汉模式 创建对象直接在 创建全局变量的时候就赋值了
    懒汉模式与饿汉模式 哪个线程安全?
    产生线程不安全的原因是因为多个线程并发去调用或者操控同一份共有数据的时候 就会产生线程不安全问题 解决方案  在操控数据的方法业务逻辑上加上sychonized关键字
    对比分析懒汉模式与饿汉模式而言  饿汉模式避免了线程不安全的问题  懒汉模式在执行效率上又高一筹.

懒汉式单例类
对于懒汉模式,我们可以这样理解:该单例类非常懒,只有在自身需要的时候才会行动,从来不知道及早做好准备。它在需要对象的时候,才判断是否已有对象,如果没有就立即创建一个对象,然后返回,如果已有对象就不再创建,立即返回。
懒汉模式只在外部对象第一次请求实例的时候才去创建。
饿汉式单例
对于饿汉模式,我们可以这样理解:该单例类非常饿,迫切需要吃东西,所以它在类加载的时候就立即创建对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值