当前位置: 首页 > news >正文

接做图网站珠海知名网站

接做图网站,珠海知名网站,网站开发环境设计,如何申请一个网站我们都知道Spring 框架中用了蛮多设计模式的: 工厂模式呢,就是用来创建对象的,把对象的创建和使用分开,这样代码更灵活。代理模式呢,是用一个代理对象来控制对真实对象的访问,可以在访问前后做一些处理。单…

我们都知道Spring 框架中用了蛮多设计模式的:
在这里插入图片描述

工厂模式呢,就是用来创建对象的,把对象的创建和使用分开,这样代码更灵活。代理模式呢,是用一个代理对象来控制对真实对象的访问,可以在访问前后做一些处理。单例模式呢,保证一个类只有一个实例,比如数据库连接池就经常用单例模式。模板模式呢,定义一个算法的框架,把具体的实现延迟到子类去做。观察者模式呢,定义了对象之间的一对多依赖关系,当一个对象状态改变时,依赖它的对象会自动更新。适配器模式呢,刚刚说过啦,就是把一个类的接口转换成另一个接口。策略模式呢,定义了一系列算法,把它们一个个封装起来,并且使它们可以相互替换。

工厂模式就像一个汽车工厂,它负责生产汽车,不同的车间负责不同的生产环节,最后组装出一辆完整的汽车。代理模式呢,比如你想买房,但是你自己不太懂房产市场,这时候就可以找一个房产中介,房产中介就是你的代理,他帮你找房子、谈价格,你通过他来和卖家打交道。单例模式呢,就像你家里的户口本,一本户口本对应一个家庭,这个家庭就是唯一的,户口本就是这个家庭的单例。模板模式呢,比如你做蛋糕,有一个蛋糕模具,这个模具就是模板,你按照这个模具的形状把蛋糕糊倒进去,烤出来的蛋糕就是固定的形状,但是你可以用不同的材料来做蛋糕。观察者模式呢,比如你在一个班级群里,老师发布一个消息,所有的学生都会收到,老师就是被观察的对象,学生就是观察者。适配器模式呢,就像刚刚说的 Type C 转接口,它把不同接口的设备连接起来。策略模式呢,比如你出门旅游,有很多种出行方式可以选择,坐飞机、坐火车或者自驾游,每种出行方式就是一种策略,你可以根据自己的需求选择不同的策略

①、比如说工厂模式用于 BeanFactory 和 ApplicationContext,实现 Bean 的创建和管理。

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
MyBean myBean = context.getBean(MyBean.class);

②、比如说单例模式,这样可以保证 Bean 的唯一性,减少系统开销。

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
MyService myService1 = context.getBean(MyService.class);
MyService myService2 = context.getBean(MyService.class);// This will print "true" because both references point to the same instance
System.out.println(myService1 == myService2);

③、比如说 AOP 使用了代理模式来实现横切关注点(如事务管理、日志记录、权限控制等)。

横切关注点呢,就是那些会影响到多个模块的功能,比如日志记录、事务管理、权限验证等等。这些功能呢,它不属于某个特定的业务模块,而是横跨在多个业务模块之上的。就好比你有多个不同的房间,每个房间都需要打扫卫生,打扫卫生就是一个横切关注点,它影响到了所有的房间。在 Spring AOP 中呢,就可以通过代理模式来实现对这些横切关注点的统一处理,把这些通用的功能从具体的业务代码中分离出来,这样代码结构会更清晰,也更容易维护

@Transactional
public void myTransactionalMethod() {// 方法实现
}

这里,我们拿一个设计模式举例问问,Spring是如何实现单例模式的呢?

  • Spring 通过 IOC 容器实现单例模式,具体步骤是:
    单例 Bean 在容器初始化时创建并使用 DefaultSingletonBeanRegistry 提供的 singletonObjects 进行缓存。

在 Spring 中实现单例模式呢,主要是通过 Bean 工厂来管理 Bean 的实例。当你在配置文件中定义一个 Bean 的时候,Spring 容器会根据你的配置来创建 Bean 的实例。如果你把 Bean 的作用域设置为单例,那么 Spring 容器就只会创建一个 Bean 的实例,并且在整个容器的生命周期中都使用这个实例。默认情况下,Bean 的作用域就是单例的。另外呢,Spring 也支持通过编程的方式来实现单例模式,比如通过实现 Initializing Bean 接口或者 FactoryBean 接口来创建单例的 Bean。不过呢,一般情况下使用配置文件就可以方便地实现单例模式了。

// 单例缓存
private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>();public Object getSingleton(String beanName) {return this.singletonObjects.get(beanName);
}protected void addSingleton(String beanName, Object singletonObject) {this.singletonObjects.put(beanName, singletonObject);
}
  • 在请求 Bean 时,Spring 会先从缓存中获取。
http://www.yayakq.cn/news/678633/

相关文章:

  • 江苏营销型网站建设公司福建网站开发招聘
  • 怎么恢复wordpress设定值安徽搜索引擎优化seo
  • 国外私人网站免费域名解析平台
  • 网站前端设计要做什么的化妆品包装设计
  • 做本机网站wordpress增加登录账户
  • 厦门做网页网站的公司科技网站大全
  • 做网站服务器可以挂到外地么布局网站建设
  • 大气宽屏网站模板wordpress移动底部导航菜单
  • 建个可以注册会员网站多少钱wordpress移动版样式
  • 如何向雅虎提交网站北京网络营销公司排名
  • 网站开发所需要注意的问题做网站下载哪个软件
  • 网站备案必须做吗关键词如何优化排名
  • 深圳宝安沙井网站建设河南专业网站建设公司排名
  • 网站建站东莞小程序商城
  • 做网站什么最重要爱企查在线查询
  • 北京网站名称注册证书重庆装饰公司15大排名
  • 手机移动网站设计怎么出售友情链接
  • 在哪做网站不要钱下载网站程序
  • 永乐网站建设网页设计需要学什么编程
  • 茶叶网站建设模板怎样查询网站的点击量
  • 那些平台可以给网站做外链wordpress为什么需要域名
  • 创想商务网站建设如何做好网站推广方法
  • 衡阳网站建设mdawl比较大的做网站的公司
  • 摄影作品网站或app做旅游网站有前途吗
  • 硅胶科技东莞网站建设宜昌市住房城乡建设网站
  • 水果网店网站建设策划书汕头网站优化
  • 单网页网站源码三明seo
  • 网站建设平台排名免费代理服务器ip和端口
  • 做网站电脑需要配置很好吗长春火车站到龙嘉机场动车时刻表
  • 阿里网站建设App开发保定做网站的公司