Spring

简介

广义上讲,spring应该是java框架里面的一个生态链,它包括了一系列官方推荐的spring相关框架

而单独把spring拿出来讲就是以核心为控制反转(IoC)和面向切面(AOP)的编程思想构建的框架,且这个spring的思想不一定是用在web开发上的,即使是javaSE也可以使用。(面向接口的思想)

优点

方便解耦,简化开发,高内聚,低耦合
Spring 就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给 Spring 管理
Spring 工厂是用于生成 bean

spring体系(七大功能模块)

Spring Core:(核心容器)
主要组件是BeanFactory,它是工厂模式的实现,使用的是IOC模式

Spring Context:(上下文)
它是一个配置文件

Spring AOP:
面向切面编程

Spring DAO:

Spring ORM:
spring框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具

Spring Web:
Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了
上下文

Spring MVC:
MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现

Spring核心之IOC

org.springframework.beans包,看这个包就知道这个ioc主要是为创建bean而设计的,更为特殊的是,这个创建是交给了程序,而不是用户自己创建(默认为单态(singleton),可设置为原型(prototype)),当然也可以设置为request,session。

Spring核心之AOP

面向切面的编程技术,已经实现的代码我们不想改,而在其上对功能进行扩展,用到的是代理模式(Proxy)

被代理类在有实现接口的时候一般用jdk代理,而在被代理类没有实现任何接口时可以使用cglib代理,cglib是通过导包实现的,并且cglib生成的代理类是被代理类的子类

AOP面向切面由正是由动态代理实现的
这两种代理模式都是动态代理,没什么想的,只有动态代理才能完成我们的aop

事务

aop的用途之一就是事务管理,spring的事务:
1 编程式事务:提交回滚代码由程序员自己编写
2 声明式事务:spring可以自动帮助程序员开启、提交,不用手写(提供了schema-base和aspectj两种)
schema-base:每个通知都需要实现接口或类
aspectj:每个通知不需要实现接口或类

常用概念

1 切点 需要添加额外功能的方法
2 前置通知 在切点之前执行的功能. before advice
3 后置通知 在切点之后执行的功能,after advice
4 异常通知 如果切点执行过程中出现异常,会触发异常通知.throws advice
5 切面 所有功能总称叫做切面.
6 织入 把切面嵌入到原有功能的过程叫做织入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值