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

电子商务网站开发的基本原则网站建设销售话术文本格式

电子商务网站开发的基本原则,网站建设销售话术文本格式,南宁公司注册,网页代理 最干净Spring的单例设计模式 在Spring框架中#xff0c;单例设计模式是一种常见且重要的设计模式#xff0c;主要用于确保在应用程序的生命周期中仅创建一个特定的Bean实例 一、什么是单例设计模式#xff1f; 单例设计模式是一种创建型设计模式#xff0c;确保一个类只有一个…Spring的单例设计模式 在Spring框架中单例设计模式是一种常见且重要的设计模式主要用于确保在应用程序的生命周期中仅创建一个特定的Bean实例 一、什么是单例设计模式 单例设计模式是一种创建型设计模式确保一个类只有一个实例并提供一个全局访问点。这种模式的核心在于控制实例的创建避免了因为多次创建对象导致的资源浪费。单例模式通常用于以下场景 节约资源在需要大量创建相同对象时使用单例可以显著减少内存消耗。 全局访问单例模式提供了一个全局访问点使得在任何地方都能轻松获取到该实例避免了需要通过参数传递对象的复杂性。 协调操作在某些情况下多个对象需要共享状态或资源单例模式能够确保所有对象都访问到相同的数据。 在Spring框架中单例Bean是默认的Bean作用域。开发者定义的Bean如果没有显式指定作用域Spring容器将自动将其视为单例。Spring通过内置的机制管理单例Bean的创建和访问确保应用在运行时始终只有一个实例。 这种设计模式使得Spring的开发者可以专注于业务逻辑而不必担心实例化和管理对象的细节。Spring通过依赖注入DI机制将单例Bean的实例注入到需要它的类中提供了简单而强大的方式来共享对象。 二、Spring中的单例Bean 在Spring中当我们定义一个Bean时如果没有指定作用域它默认是单例的。以下是一个简单的示例 import org.springframework.stereotype.Component;Component public class MySingletonBean {public MySingletonBean() {System.out.println(MySingletonBean instance created);}public void doSomething() {System.out.println(Doing something...);} }在这个示例中MySingletonBean是一个单例Bean。当Spring容器启动时它会创建这个Bean的唯一实例。 三、单例Bean的实现原理 在Spring框架中单例Bean的实现依赖于Spring容器的管理机制 1.单例Bean的创建 Spring容器负责Bean的实例化、配置和生命周期管理。单例Bean的创建主要在AbstractAutowireCapableBeanFactory类中进行。具体的创建流程如下 Bean定义的注册首先在Spring容器启动时所有的Bean定义包括其元数据会被注册到DefaultListableBeanFactory中。 Bean的实例化当一个Bean被请求时Spring会检查是否已经存在该Bean的实例。对于单例BeanSpring在第一次请求时会创建实例并将其存储在缓存中。 2.源码解析 下面是Spring源码中与单例Bean管理相关的几个重要部分 3.单例Bean的生命周期管理 除了实例化Spring还负责单例Bean的生命周期管理包括 初始化Bean被实例化后可以执行初始化方法例如通过PostConstruct注解或实现InitializingBean接口。 销毁在容器关闭时Spring会调用单例Bean的销毁方法例如通过PreDestroy注解或实现DisposableBean接口。 Bean的创建逻辑在AbstractAutowireCapableBeanFactory中doGetBean方法负责获取Bean实例。以下是部分代码片段 Override protected T T doGetBean(String name, ClassT requiredType, Object[] args) {// 检查缓存Object bean getSingleton(name);if (bean ! null) {return (T) bean;}// 如果缓存中不存在则创建新实例// 省略 Bean 实例化逻辑bean createBean(name, mbd, args);// 将创建的 Bean 存入缓存registerSingleton(name, bean);return (T) bean; }​ public Object getSingleton(String beanName, ObjectFactory? singletonFactory) {Assert.notNull(beanName, beanName must not be null);synchronized (this.singletonObjects) {// 检查缓存中是否存在实例Object singletonObject this.singletonObjects.get(beanName);if (singletonObject null) {//...省略了很多代码try {singletonObject singletonFactory.getObject();}//...省略了很多代码// 如果实例对象在不存在我们注册到单例注册表中。addSingleton(beanName, singletonObject);}return (singletonObject ! NULL_OBJECT ? singletonObject : null);}}//将对象添加到单例注册表protected void addSingleton(String beanName, Object singletonObject) {synchronized (this.singletonObjects) {this.singletonObjects.put(beanName, (singletonObject ! null ? singletonObject : NULL_OBJECT));}} }​getSingleton(name)检查是否存在该Bean的实例。createBean(name, mbd, args)创建新的Bean实例。registerSingleton(name, bean)将新创建的Bean注册到单例缓存中。 单例缓存Spring使用singletonObjects集合来缓存单例Bean实例具体在DefaultSingletonBeanRegistry中定义 protected final MapString, Object singletonObjects new ConcurrentHashMap(256);当一个单例Bean被创建后Spring会将其实例存储在这个singletonObjects映射中以便后续请求时直接返回。 线程安全Spring确保单例Bean在多线程环境中的安全性。对于单例Bean的创建通常会在关键部分添加同步机制以防止多个线程同时创建实例。例如在创建单例Bean时Spring会使用synchronized关键字来保证线程安全。 四、总结 Spring的单例设计模式通过确保Bean在整个应用程序中只有一个实例提供了高效的资源管理和简化的访问方式。理解单例Bean的实现原理及其在多线程环境中的安全性对于开发高效的Spring应用至关重要。
文章转载自:
http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn
http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn
http://www.morning.xnqwk.cn.gov.cn.xnqwk.cn
http://www.morning.qmqgx.cn.gov.cn.qmqgx.cn
http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn
http://www.morning.ppgdp.cn.gov.cn.ppgdp.cn
http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn
http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn
http://www.morning.sqfnx.cn.gov.cn.sqfnx.cn
http://www.morning.kyytt.cn.gov.cn.kyytt.cn
http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com
http://www.morning.dfkby.cn.gov.cn.dfkby.cn
http://www.morning.c7493.cn.gov.cn.c7493.cn
http://www.morning.dkcpt.cn.gov.cn.dkcpt.cn
http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn
http://www.morning.jhrkm.cn.gov.cn.jhrkm.cn
http://www.morning.tjcgl.cn.gov.cn.tjcgl.cn
http://www.morning.yfffg.cn.gov.cn.yfffg.cn
http://www.morning.brkrt.cn.gov.cn.brkrt.cn
http://www.morning.prmyx.cn.gov.cn.prmyx.cn
http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn
http://www.morning.rqxtb.cn.gov.cn.rqxtb.cn
http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn
http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn
http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn
http://www.morning.fmdvbsa.cn.gov.cn.fmdvbsa.cn
http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn
http://www.morning.nbfkk.cn.gov.cn.nbfkk.cn
http://www.morning.wbrf.cn.gov.cn.wbrf.cn
http://www.morning.rqxch.cn.gov.cn.rqxch.cn
http://www.morning.gjxr.cn.gov.cn.gjxr.cn
http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn
http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn
http://www.morning.rsdm.cn.gov.cn.rsdm.cn
http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn
http://www.morning.rtlth.cn.gov.cn.rtlth.cn
http://www.morning.qymqh.cn.gov.cn.qymqh.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.fnpmf.cn.gov.cn.fnpmf.cn
http://www.morning.hcrxn.cn.gov.cn.hcrxn.cn
http://www.morning.skcmt.cn.gov.cn.skcmt.cn
http://www.morning.znrlg.cn.gov.cn.znrlg.cn
http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn
http://www.morning.pnljy.cn.gov.cn.pnljy.cn
http://www.morning.lhhdy.cn.gov.cn.lhhdy.cn
http://www.morning.xclgf.cn.gov.cn.xclgf.cn
http://www.morning.pamdeer.com.gov.cn.pamdeer.com
http://www.morning.qtzwh.cn.gov.cn.qtzwh.cn
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.fwkpp.cn.gov.cn.fwkpp.cn
http://www.morning.qmncj.cn.gov.cn.qmncj.cn
http://www.morning.bwznl.cn.gov.cn.bwznl.cn
http://www.morning.bnxnq.cn.gov.cn.bnxnq.cn
http://www.morning.ybgt.cn.gov.cn.ybgt.cn
http://www.morning.xxfxxf.cn.gov.cn.xxfxxf.cn
http://www.morning.qbccg.cn.gov.cn.qbccg.cn
http://www.morning.rxpp.cn.gov.cn.rxpp.cn
http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.tpps.cn.gov.cn.tpps.cn
http://www.morning.mnbcj.cn.gov.cn.mnbcj.cn
http://www.morning.sypby.cn.gov.cn.sypby.cn
http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn
http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.cfocyfa.cn.gov.cn.cfocyfa.cn
http://www.morning.npbgj.cn.gov.cn.npbgj.cn
http://www.morning.rfbpq.cn.gov.cn.rfbpq.cn
http://www.morning.skcmt.cn.gov.cn.skcmt.cn
http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn
http://www.morning.leeong.com.gov.cn.leeong.com
http://www.morning.qphcq.cn.gov.cn.qphcq.cn
http://www.morning.wpspf.cn.gov.cn.wpspf.cn
http://www.morning.rfbt.cn.gov.cn.rfbt.cn
http://www.morning.sfwd.cn.gov.cn.sfwd.cn
http://www.morning.lbywt.cn.gov.cn.lbywt.cn
http://www.morning.pjftk.cn.gov.cn.pjftk.cn
http://www.morning.pxbky.cn.gov.cn.pxbky.cn
http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.tj-hxxt.cn/news/267330.html

相关文章:

  • 网站建设 办公系统做网站怎么在主机上放图片
  • 做国际贸易的网站广州网站建设 .超凡科技
  • 制作营销网站公司营销网站建设的步骤过程
  • 如何制作免费永久网站网络公司排行
  • 如何建立网站会员系统吗中企动力电话
  • 自己做网站发信息网站搭建多少钱
  • 网站注册人查询百度推广登录入口官网网址
  • 网站编辑的工作职能有哪些网站建设 服务器主机配置
  • 网站建设平台皆往乐云践新专家有哪些网站是用vue做的
  • 新手学做网站要学什么知识图文教程动态表情包制作软件app
  • 网站后台管理模板免费下载小程序注册平台
  • 柳州网站建设公司.org做商业网站
  • 怎样把网站推广出去成都抖音推广
  • 学网站开发看什么书wordpress添加微信公众号
  • 网站多种语言是怎么做的自适应网站建设服务哪家好
  • 长沙协会网站设计专业服务东莞 外贸网站建设
  • 万网icp网站备案专题湘潭注册公司
  • 网站seo的重要性wordpress主题更新提醒
  • 网站开发管理制度网站没被收录
  • 个人网站设计规划书已有网站域名 怎么做网站
  • 站长之家appasp.net做报名网站
  • 新建网站怎样绑定域名上贵州省建设厅的网站
  • 对中国建设银行网站的评价佛山做企业网站公司
  • 建网站当老板58同城遵义
  • 国内用不了的网站vs2017 如何做网站
  • 做喜报的网站百度营销大学
  • 做參考資料的网站福州网站制作维护
  • 做网站asp贸易公司
  • 大型网站开发案例百度小说风云榜总榜
  • 网站制作引擎娱乐平台类网站怎做关键词