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

清远市住房和城乡建设管理局门户网站网站可以做充值吗

清远市住房和城乡建设管理局门户网站,网站可以做充值吗,网站备案 湖北,申请摇号广州网站前言#xff1a; #x1f44f;作者简介#xff1a;我是笑霸final#xff0c;一名热爱技术的在校学生。 #x1f4dd;个人主页#xff1a;个人主页1 || 笑霸final的主页2 #x1f4d5;系列专栏#xff1a;项目专栏 #x1f4e7;如果文章知识点有错误的地方#xff0c;… 前言 作者简介我是笑霸final一名热爱技术的在校学生。 个人主页个人主页1 || 笑霸final的主页2 系列专栏项目专栏 如果文章知识点有错误的地方请指正和大家一起学习一起进步 如果感觉博主的文章还不错的话点赞 关注 收藏 在这里说一下参考作者的博客地址https://bugstack.cn 作者叫小傅哥教程的名字叫《手撸Spring》也算个版权声明以及宣传吧~ 目录 一源码目录和类关系二、简单的Bean定义 BeanDefinition三、定义单例注册接口3.1 SingletonBeanRegistry 接口3.2 DefaultSingletonBeanRegistry 四、定义Bean 工厂 BeanFactory4.1 抽象类Bean工厂模板AbstractBeanFactory4.2 实例化Bean类AbstractAutowireCapableBeanFactory 五、DefaultListableBeanFactory核心类实现六、总结 一源码目录和类关系 项目目录 类关系 详细关系图 查看原图》 点此 接下来 我们就实现上面的类 二、简单的Bean定义 BeanDefinition BeanDefinition的实现类用于描述Spring中的一个应该被实例化的bean的各种性质包括bean的属性值构造函数方法等等。在容器中这些Bean的定义用BeanDefinition对象来表示包含以下元数据 1. 全限定类名 通常是Bean的实际实现类 2. Bean行为配置元素它们 展开后包含了该bean所具有的各种属性、注入方式、销毁方式等等。 这里我们先实现简单的一个BeanDefinition public class BeanDefinition {// 定义成 Class 这样就可以把 Bean 的实例化操作放到容器中处理了。private Class beanClass;public BeanDefinition(Class beanClass){this.beanClass beanClass;}public Class getBeanClass() {return beanClass;}public void setBeanClass(Class beanClass){this.beanClass beanClass;} }三、定义单例注册接口 3.1 SingletonBeanRegistry 接口 主要定义了一个获取单例对象的接口 public interface SingletonBeanRegistry {//得到 单例beanObject getSingleton(String beanName); }3.2 DefaultSingletonBeanRegistry 实现Object getSingleton(String beanName);的同时 自己还添加addSingleton() 方法 stringObjectMap 用来保存单例对象 public class DefaultSingletonBeanRegistry implements SingletonBeanRegistry {//容器 存放单例beanprivate MapString,Object stringObjectMap new HashMap();Overridepublic Object getSingleton(String beanName) {return stringObjectMap.get(beanName);}protected void addSingleton(String beanName , Object singletonObject){stringObjectMap.put(beanName,singletonObject);} }四、定义Bean 工厂 BeanFactory public interface BeanFactory {Object getBean(String name); }由 AbstractBeanFactory 抽象类实现接口的 getBean 方法 目前的 BeanFactory 仍然是非常简化的实现、后续笔记会逐步完善此类 4.1 抽象类Bean工厂模板AbstractBeanFactory AbstractBeanFactory 抽象Bean工厂 此类 继承了 DefaultSingletonBeanRegistry 类 此类方法都实现了 实现了 BeanFactory 接口 实现getBean()方法来得到Bean 新增加了BeanDefinition() 和createBean()两个抽象方法 public abstract class AbstractBeanFactory extends DefaultSingletonBeanRegistryimplements BeanFactory {Overridepublic Object getBean(String name) {//调用继承DefaultSingletonBeanRegistry实现的方法Object bean getSingleton(name);if(bean ! null){return bean;}BeanDefinition beanDefinition getBeanDefinition(name);return createBean(name,beanDefinition);}protected abstract BeanDefinition getBeanDefinition(String beanName) ;protected abstract Object createBean(String beanName, BeanDefinition beanDefinition);}getBean(String name):获取单例Bean 当第一次进入此方法 getSingleton(name);返回空 就会跳过 if 方法从而去创建 BeanDefinition对象然后由BeanDefinition的信息来创建Bean对象 当然此类并不实现这两个方法 4.2 实例化Bean类AbstractAutowireCapableBeanFactory AbstractAutowireCapableBeanFactory 抽象自动装配Bean工厂 创建对象 继承了 AbstractBeanFactory类 并实现 抽象方法createBean() createBean() 根据beanDefinition来创建单例对象 public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFactory{Overrideprotected Object createBean(String beanName, BeanDefinition beanDefinition) {Object bean null;try{bean beanDefinition.getBeanClass().newInstance();} catch (Exception e) {throw new RuntimeException(e);}//此方法是DefaultSingletonBeanRegistry中的 保存单例beanaddSingleton(beanName,bean);return bean;} } 五、DefaultListableBeanFactory核心类实现 实现BeanDefinitionRegistry接口中的registerBeanDefinition() 把 一个BeanDefinition 对象保存至容器。 继承AbstractAutowireCapableBeanFactory 类 并实现 getBeanDefinition()此方法是 AbstractBeanFactory中定义的 用来得到一个BeanDefinition public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements BeanDefinitionRegistry {private MapString, BeanDefinition beanDefinitionMap new HashMap();Overrideprotected BeanDefinition getBeanDefinition(String beanName) {BeanDefinition beanDefinition beanDefinitionMap.get(beanName);if (beanDefinition null) throw new BeansException(No bean named beanName is defined);return beanDefinition;}Overridepublic void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) {beanDefinitionMap.put(beanName, beanDefinition);} }六、总结 先把把 类信息 添加到 BeanDefinition中 DefaultListableBeanFactory类是核心类 此类把我们的BeanDefinition注册到BeanDefinition对象池中 然后再 得到Bean对象根据BeanDefinition的信息来创建bean bean对象实在第一次调用getBean()创建的
http://www.yutouwan.com/news/154657/

相关文章:

  • 免费移动网站模板下载北京建设信源网站 怎么打不开
  • 1微信网站怎么建设长宁区网站建设网页
  • 如何在手机上做自己的网站公司网站php
  • 中文网站排名品牌设计与策划
  • 实施网站推广的最终目的哪里有网站培训的
  • 手机网站封装小程序网站开发报告多少页合适
  • 陇南市建设局网站福建搜索引擎推广方法
  • 网站建设毕业设计百度下载官方下载安装
  • 茂名专业网站制作公司企业信用查询平台
  • pc网站转wap网站树形菜单的网站代码
  • 网站策划的步骤做网站客户需要提供的资料
  • 北京高端网站建设费用无锡江阴做网站公司
  • 云服务器可以做视频网站吗域名批量查询网站
  • 怎么做企业的网站首页wordpress模板QQ评论
  • 广东深圳网站设计室创立一个公司需要多少钱
  • 祥云县住房和城乡建设局网站和一起做网店类似的网站
  • 培训网站开发机构不会网站维护可以做吗
  • 做淘宝店铺标志的网站网站建设选青岛的公司好不好
  • 光山网站建设网站建设价格就要用兴田德润
  • 如何建立一个外贸网站怎样查商标注册信息查询
  • 做咖啡网站建设部网站 规范下载
  • 网站设计公司发展学动漫制作去哪个学校
  • 视频 播放网站怎么做贵阳美容网站建设
  • 中小企业网站建设微信运营课程介绍
  • 电子商务网站开发报告怎样才能申请网站
  • 杭州网站建设第一品牌网络商城是什么意思
  • 定西谁做网站制作个人免费网站展示设计
  • 网站制作 番禺学校网站建设方案及报价
  • 项目推广方案怎么写抖音seo排名源码
  • 福建建设执业资格注册管理中心网站很多搜索词网站怎样做