Spring中涉及的原则和设计模式

1、控制反转IoC和依赖注入DI

      控制反转:就是借用第三方Ioc容器实现具有依赖关系的对象之间的解耦,从而降低代码之间的耦合度。(IoC负责管理对象,你只管使用对象即可)。Spring IoC就像是一个工厂,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何创建的。

      依赖注入:实现控制反转的一种设计模式,依赖注入就是将实例变量传入到一个对象中去。

2、工厂设计模式    参考

Spring的过程模式可以通过BeanFactory或ApplicationContext创建bean对象。两者的区别如下:

  • BeanFactory:延迟注入,当时用到某个bean的时候才会注入。占用更少的内存,程序启动更快。
  • ApplicationContext:容器启动的时候,不管有没有用到,一次性创建所有的bean。(常用)

3、单例设计模式   参考

在系统中某些对象只需要一个,就要使用到单例设计模式。如:线程池、缓存、对话框、注册表、日志对象等。

在Spring中bean的作用域默认就是单例的。

4、代理设计模式   参考

AOP:面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(如:事务处理、日志管理、权限控制等)封装起来,一边减少系统中的重复代码,降低模块间的耦合度,提高了可扩展性和可维护性。

Spring AOP 是基于动态代理的。

5、模板方法

Spring中的jdbcTemplate、hibernateTemplate等一Template结尾的对数据库操作的类就是用到了模板方法模式。

6、适配器模式

Spring AOP中的增强或者通知使用到了适配器模式。

Spring MVC中使用到了适配器模式,HandlerAdapter。

7、装饰者模式

项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。使用装饰者模式就能够动态切换不同的数据源。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值