Spring介绍

版权声明:本文为博主原创文章,未经博主允许不得转载

1.Spring是一个轻量级的控制反转(IOC)和面向切面的容器框架。

2.IOC控制反转,将对象的创建权反转给Spring,使用IOC可以解决程序耦合性高的问题。

(1)springioc就是控制反转,将创建对象的权力交给spring来管理,如果我们不使用spring管理,创建对象就是通过new对象的方法创建。
(2)当我们使用了spring之后,通过ioc容器来管理对象,在项目启动加载的时候,我们可以通过bean标签或者注解的形式创建对象,将对象创建好之后,预存在spring的容器当中,当我们需要使用对象的时候,可以通过name或者type类型注入,我们可以手动注入,也可以自动注入。
(3)ioc常用的注解:@Controller, @Service, @Component, @repository 这个是用来实例化的注解创建对象,@Autowire是用来注入的注解,根据类型自动注入,从创建好的变量赋值给需要使用的变量引用。
(4)spring创建的对象默认都是单例的,是为了节省内存的开销,以及方便有效的进行跳转,事务和数据源控制,如果需要多例可通过@Scope进行设置。
(5)当然ioc也可以通过bean标签继续创建对象,通常配置类型类都由bean标签创建,例如拦截器,数据源,事务管理器,连接工厂等。
(6).Spring通过一种称作控制反转(IOC)的技术促进了松耦合。
(7).当应用了IOC之后,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
(8).Spring是非侵入式的,动态注入对象,让一个对象的创建不用去new,可以自动生成,这就是java里的反射,反射其实就是在运行时动态的去创建,调用对象及其方法。
(9)Spring就是在运行时,跟XML Spring的配置文件来动态的创建对象,和调用对象里面的方法。
(10)反射技术的使用使得我们不再像原始工厂方法模式那样创建对象。
(11).反射可以非常灵活的根据类的名称创建一个对象。所以Spring只使用了Prototype和Singleton这两个基本的模式。

3.DI:依赖注入,在Spring负责创建bean对象时,动态的将依赖对象注入到bean组件中。

4.Aop

(1).面向切面的思想和实现方法,使用Aop我们可以进行日志的记录,事物的控制等等;
(2).隔离级别:读未提交,都已提交,可重复读,可传性化;
(3).传播特性:事物的传播特性:propagation_required.使用Aop可以提高事物处理的效率,增加事务处理方面的隔离化分类;常用通知标签:前置通知,后置通知,异常通知,环绕通知,最终通知。
springaop主要是面向切面编程,代理模式,在程序中主要用来解决一些系统层面的问题,比如日志,事务等。
(4)如果使用aop控制事务的话,先在spring配置文件中创建一个事务管理器,并且注入数据源datasource,那么整个事务管理器就可以管理整个数据源的事务。
(5)接着在配置整个事务的advice配置方法名,传播特性,隔离级别,回滚策略。通常方法名配置add,update,delete,insert等增删改的方法名可以参与事务,然后再配置这个方法名的传播特性parpagation,默认设置为required,意思是如果存在一个事务,融入当前事务,没有事务则开启事务,这个特性对事务的嵌套最为合理,还有隔离级别isolation,默认值为default,意思是采用数据库的隔离级别。例如:read_uncommit 意思是允许读取未提交的数据,这是对其的隔离级别,还有read_commit ,允许读取已提交的数据,一般采用默认的就行。

Spring框架优点

(1).轻量级的容器框架,没有侵入性。
(2).IOC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合进行开发。
(3).易与本地测试。
(4).Aop可以更加容易的进行功能扩展,遵循OCP开发原则。
(5).Spring默认对象的创建为单例的,我们不需要使用单例的设计模式来开发单体类。
(6).Spring的集成很强大,另外还可以对其他框架进行一元化管理。
(7).Spring的声明式事务的方便使用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值