spring的重点

[align=left][color=red][size=large]IOC[/size][/align] [/color]
[color=blue]IOC DI 含义[/color]

[color=blue]IOC(控制反转容器)[/color]
[color=blue]控制反转[/color]:指应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的,这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。是创建对象的方式反转了。
[color=blue]DI(依赖注入):[/color]在运行期,由外部容器动态地将依赖对象注入到组件中。
[color=blue]SpringBean 作用域及生命周期[/color]
[color=blue]Bean的作用域[/color]:singleton(单例)会返回singleton缓存池内的一个对象
prototype(原型)创建prototype对象返回给使用者
[color=blue]bean 的生命周期[/color]:启动容器通过调用getBean()方法调用某个bean,实例化对象,设置属性值,通过init-method属性配置进行初始化方法调用,若bean的范围是Singleton则返回缓存池中的对象,若是prototype则会创建对象交给使用者,通过destroy-method属性配置的销毁方法,生命周期结束。
[color=blue]IOC容器的实现[/color]
[color=blue]BeanFactory与ApplicationContext关系[/color]ApplicationContext包含BeanFactory的所有功能。通常建议比BeanFactory优先,除非有一些限制的场合如字节长度对内存有很大的影响时才会作用BeanFactory
BeanFactory只支持Bean实例化和装配,而ApplicationContext则支持Bean实例化和装配、自动BeanPostProcessor注册、自动BeanFactoryProcessor注册、便捷的MessageSource访问和ApplicationEvent发送。

[color=blue]依赖注入的几种方式[/color]
依赖注入分为:涉值注入、方法注入和接口注入


[color=red][size=large]AOP[/size][/color]
[color=blue]AOP实现原理[/color]
[color=blue] 动态代理
JDK\CGLIB 各自特性以及优缺点[/color]1、JDK1.3下,JDK动态代理性能很低,高版本性能有所提高
都是基于动态代理,jak宣称接口,
2、CGLIB所创建的动态代理对象的性能比JDK性能高10倍,但创建效率要低8倍,所以对singleton的代理对象或者具有实例池的代理,因为无须频繁创建代理对象,优先考虑CGLIB代理,反之适合JDK代理
3、JDK动态代理的缺点是:必须要提供接口,CGLIB代理的缺点是不能对目标类中final方法进行代理。

[color=blue]SpringAOP中实现代理的方式[/color]
使用ProxyFactoryBean创建AOP代理或使用ProxyFactory通过编程创建AOP代理,通过注解或schema
org.springframework.aop.framework.proxyFactory
org.springframework.aop.framework..proxyFactoryBean

实例化代理工厂
shcama
通过注解方式
用代理工厂bean



[color=blue]SpringAOP中增强的类型[/color]
前置增强、后置增强、环绕增强、异常抛出增强、引介增强
什么是切点,增强和切面
切点:指要对那些连接点进行拦截的定义
增强:指拦截到连接点之后所要作的事情就是增强
切面:指横切性关注点的抽象。
目标源
目标源分为:热交换目标源、池化目标源、原型目标源、ThreadLocal目标源[/align]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值