spring的工作原理

IOC(inversion of control)控制反转

         概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系。

         核心:spring封装了抽象工厂模式;bean工厂创建的各个实例称作为bean。

         理解:喜欢吃的东西不一定自己亲自去做,交给食品加工厂去做不是更好吗。spring让一个对象不用创建new了,可以自动生产,这就是利用java的反射机制动态创建、调用对象,spring就是在运行时,根xml 是pring配置文件动态创建对象,和调用对象里的方法的。

         spring IOC 默认应用单例模式,一次new一个全局对象,也可以在配置文件中进行配置,配置为不使用单例模式。

AOP(aspect oriented programming)面向切面编程

   springAOP

         springAOP核心也是动态代理,spring采用三种方式实现代理功能。1、java的动态代理方式。2、CGlib方式。3、Aspectj方式。

         默认模式

         spring使用java动态代理和CGlib的混合方式提供服务,即若对象实现了接口则spring自动采用java动态代理进行支持,否则则采用CGlib方式进行支持;也可以强制制定使用cglib方式代理,在配置文件中进行配置。

面向切面编程在开发中主要用于对事务的控制,权限控制,拦截器等需求中


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值