Spring原理与应用-IOC与AOP

SpringIOC的原理

利用java的反射功能实例化Bean并建立Bean之间的依赖关系,还提供Bean实例缓存管理、Bean生命周期管理、Bean实例代理、事件发布和资源装载等高级服务

Spring Bean装配流程

通过XML配置文件或注解实现Bean配置----->Bean容器中生成配置注册表——>根据注册表实例化Bean,装配关系----->将Bean实例载入Bean缓存池------>为上层业务程序提供运行环境

Spring Bean作用域

xml配置文件中,bean的定义中通过scope参数指定不同的模式

Singleton(单例):IOC容器只会存在一个共享的Bean实例,多个引用它,也始终指向同一个Bean对象。全局只有一个对象,多线程下不安全

Prototype(原型):每次引入该Bean实例,都会新创建一个Bean实例,每个都要自己的属性和状态

Request(请求级别):不同的HTTP请求会创建新的该Bean实例,该实例仅在该请求内有效,然后销毁

Session(会话级别):不同的Session请求会创建新的Bean实例,当前会话内有效,然后销毁

Global Session(全局会话):一个全局HTTP Session返回同一个Bean实例

Spring Bean生命周期

实例化Bean---->Bean配置----->执行初始化之前方法----->执行init-method初始化方法------>执行处理方法------>调用destory方法------>调用配置的destory-method方法

Spring的四种依赖注入

1、构造器注入

2、set方法注入

3、静态工厂注入

4、实例工厂注入

Spring AOP的原理

JDK动态代理:主要通过Proxy类和InvocationHandler接口来实现。Proxy类利用InvocationHandler动态创建一个符合某一接口的实例,生成目标类的代理对象。


```java
@Aspect//定义切面
public class Demo{
   @Pointcut(value="execution(....)")//定义要拦截的方法
   public void point(){}
   @Before(value="point()")//定义前置通知
   public void before(){}
   @AfterReturning(value="point()")
   @Around("point")
}

#### Spring MVC原理

##### 工作流程




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来悦,事享成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值