spring框架使用了哪些设计模式

本文介绍了Spring框架中使用的设计模式,包括工厂模式的BeanFactory和ApplicationContext,实现IOC的单例bean;代理模式的AopProxy,用于切面编程;装饰器模式的BeanWrapper,用于访问bean属性和方法;策略模式的SimpleInstantiationStrategy,定义Bean实例化策略;适配器模式的HandlerAdapter在SpringMVC中的应用;观察者模式的ApplicationListener,实现事件监听;以及模板方法模式的JdbcTemplate和AQS,提供数据库操作和同步控制。
摘要由CSDN通过智能技术生成

1 工厂模式

        BeanFactory ,bean工厂

        使用过spring框架的人应该都知道,容器里的对象都不是new出来的,可以自己写bean 单独注入,也可以写好包路径去扫描带注解的的方式来注入,更古老的还有读取配置文件注入的。这也正是Spring IOC 的体现,IOC翻译是控制反转,控制反转指的是建立对象的权利去交给容器来建立,因此大家使用spring 的时候就不会再new对象了,类上写上注解,等使用的时候再用@Autowired找容器要就可以了。 (题外话:那为什么要这样干呢?答案是为了解耦,不用spring之前你写逻辑,可能是在A对象的方法里,new了B对象,然后调用了B对象的方法,后面可能还有C,D,EF,调用的一团糟,可读性和可维护性就很差,哪怕代码分层写了,B类就是专门做数据库查询的一个类,因为是个被其他人调而自己不掉别人的一个工具类,所以弄成单例最好,可还有一个C表专门管数据库插入,也需要做成单例,那这单例的代码是不是每次都要写一堆,懒汉饿汉的好几行,可是你用了spring 的bean工厂 后 ,可以都装在单例工厂里单例代码就不用写了。单例由容器管理,使用时找容器要。咳咳,就好比你想谈恋爱时,直接找国家,国家包分配。试想一下这对整个社会来说是不是更好管理,减少了很多冲突,减少了很多隐性的矛盾。当然这是不可能的,伦理问题不能想的太简单,国家就算有资源分配也不能保证分配质量是均匀的,分配不均就会造成新的矛盾,可能矛盾变得更大了呢,不满的人可能会赖上容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值