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

花都区水务建设管理中心官方网站网页设计培训班招生

花都区水务建设管理中心官方网站,网页设计培训班招生,商务网站的特点,成都住建局官网保交楼本篇内容包括#xff1a;IOC 和 DI 的概念、Spring 容器#xff0c;即 BenaFactory 与 AplicationConext 等 IOC 相关内容。 一、IOC 和 DI 的概念 1、IOC IoC#xff08;Inversion of control #xff09;即“控制反转”#xff0c;它是一种设计思想而非一个技术实现。… 本篇内容包括IOC 和 DI 的概念、Spring 容器即 BenaFactory 与 AplicationConext 等 IOC 相关内容。 一、IOC 和 DI 的概念 1、IOC IoCInversion of control 即“控制反转”它是一种设计思想而非一个技术实现。描述了Java 开发领域对象的创建以及管理的问题。通过Spring来管理对象的创建、配置和生命周期这样相当于把控制权交给了Spring不需要人工来管理对象之间复杂的依赖关系这样做的好处就是解耦。 Spring 实现 IOC 的重要手段是依赖注入 DI 对象间的依赖的控制权从开发人员手中转移到了容器中降低了开发成本. 在 Spring 里面主要提供了 BeanFactory 和 ApplicationContext 两种 IOC 容器通过他们来实现对 Bean 的管理。 2、DI IoC 最常见以及最合理的实现方式叫做依赖注入Dependency Injection简称 DI。 依赖注入DIDependency Injection是 Spring 实现 IOC 的重要手段依赖注入将对象间的依赖的控制权从开发人员手中转移到了容器中降低了开发成本。 3、IOC 容器 在Spring里面主要提供了 BeanFactory 和 ApplicationContext 两种 IOC 容器通过他们来实现对 Bean 的管理。 BeanFactory 粗暴简单可以理解为就是个 HashMapKey 是 BeanNameValue 是 Bean 实例。通常只提供注册put获取get这两个功能。我们可以称之为 “低级容器”。 ApplicationContext 可以称之为 “高级容器”。因为他比 BeanFactory 多了更多的功能。他继承了多个接口。因此具备了更多的功能。 二、Spring 容器设计 1、BenaFactory BenaFactory 可以说是 IOC 最顶层的接口其定义了一个 IOC 容器的基本规范可以说 BenaFactory 就是一个低配版的 IOC 容器其定义了 IOC 容器最基本的功能 BeanFactory 使用控制反转对应用程序的配置和依赖性规范与实际的应用代码进行分离BeanFactory 实例化后并不会自动实例化 Bean只有当 Bean 被使用时才会对其进行实例化与依赖关系的装配。 public interface BeanFactory {//对 FactoryBean 的转义定义因为如果使用 bean 的名字检索 FactoryBean 得到的对象是工厂生成的对象如果需要得到工厂本身需要转义。String FACTORY_BEAN_PREFIX ;//根据 bean 的名字获取在 IOC 容器中得到 bean 实例。Object getBean(String name) throws BeansException;//根据 bean 的名字和 Class 类型来得到 bean 实例增加了类型安全验证机制。T T getBean(String name, ClassT requiredType) throws BeansException;Object getBean(String name, Object... args) throws BeansException;T T getBean(ClassT requiredType) throws BeansException;T T getBean(ClassT requiredType, Object... args) throws BeansException;T ObjectProviderT getBeanProvider(ClassT requiredType);T ObjectProviderT getBeanProvider(ResolvableType requiredType);//提供对 bean 的检索看看是否在 IOC 容器有这个名字的 bean。boolean containsBean(String name);//根据 bean 名字得到 bean 实例并同时判断这个 bean 是不是单例。boolean isSingleton(String name) throws NoSuchBeanDefinitionException;//根据 bean 名字得到 bean 实例并同时判断这个 bean 是不是原型。boolean isPrototype(String name) throws NoSuchBeanDefinitionException;//判断 bean 名字和 Type 判断 JavaBean 是否匹配指定的类型boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException;boolean isTypeMatch(String name, Class? typeToMatch) throws NoSuchBeanDefinitionException;//得到 bean 实例的 Class 类型NullableClass? getType(String name) throws NoSuchBeanDefinitionException;NullableClass? getType(String name, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException;//得到 bean 的别名如果根据别名检索那么其原名也会被检索出来String[] getAliases(String name);}可以看到在 BeanFactory 里只对 IOC 容器的基本行为作了定义根本不关心你的 Bean 是如何定义怎样加载的。而要知道 Bean 是如何定义怎样加载的我们需要看具体的 IOC 容器实现Spring 提供了许多 IOC 容器的 实现 。比如 GenericApplicationContext 与 ClasspathXmlApplicationContext 。 2、AplicationConext ApplicationContext 是 Spring 中的核心接口和容器允许容器通过应用程序上下文环境创建、获取、管理 bean。在构建容器的时候创建对象采用的策略是立即加载的方式即只要一读取完配置文件就立即创建配置文件中配置的对象BeanFactory采用的是延迟加载的方式什么时候根据 id 获取对象了什么时候才真正地创建对象。 从以上类图我们可以看出 ApplicationContext 继承了 6 个接口除了继承自 BeanFactory 的 HierarchicalBeanFactory 和 ListableBeanFactory 以外还包括了EnvironmentCapable、 ApplicationEventPublisher、ResourcePatternResolver 和 MessageSource。 EnvironmentCapable简单地说就是获取环境变量定义了 ApplicationContext 启动时的环境为应用程序环境的两个关键方面建模配置文件和属性ApplicationEventPublisher主要是做事件ApplicationEvent传播、事件发布的功能ResourcePatternResolver主要是做资源Resource加载支持多种类型加载MessageSource国际化国际化简而言之就是说国际通用的意思那就是需要不同的语言进行翻译这个是可以自定义的在资源文件夹下创建。 ### Spring 的三个主要实现类 ClassPathXmlApplicationContext可以加载类路径下的配置文件要求配置文件必须在类路径之下FileSystemXmlApplicationContext可以加载磁盘中任意路径下的配置文件要求具有访问权限AnnotationConfigApplicationContext用于读取注解创建容器。
http://www.zqtcl.cn/news/517232/

相关文章:

  • 设计建设网站公司网站wordpress k2
  • 公司网站被抄袭网络宣传
  • 企业网站设计收费专业网络推广公司排名
  • 视频网站模板源码深圳网站建设明细报价表
  • nike官方网站定制二级域名网站有哪些
  • 越秀移动网站建设房门户网站如何做优化
  • 什么软件可以做动漫视频网站开发一个小程序大概要多少钱
  • 微网站可以做成域名访问株洲网站做的好的公司
  • 建设网站去工信部备案需要什么资料网站建设相关博客
  • 十度网站建设网站建立的企业
  • 婚庆公司网站国外网站阻止国内访问怎么做
  • 乐山高端网站建设wordpress openload
  • 哪些网站上可以做租车深圳品牌网站开发
  • 乐清网站改版公司西安网站建设公司哪家好
  • 国外小型网站1688货源网下载
  • 浏览量最大的网站网站导航栏目设计内容依据
  • 户外拓展公司网站开发桂林网站开发
  • 怎么入侵网站后台互联网营销师含金量
  • 网站建设ningqueseo济南网站建设服务
  • 做网站给女朋友品牌网站建设只询大蝌蚪
  • 厦门服装商城网站建设米课做网站
  • ui做网站实例一起做网店网站官方
  • 网站建设合同怎么写wordpress如何设置404页面
  • wordpress 安装过程顺德网站优化
  • 大麦网网站建设的功能定位wordpress图片不被收录
  • 做推广任务的网站渠道营销推广方案
  • 消防中队网站建设施工企业项目经理部管理人员对外行为的法律后果
  • 淘宝的网站建设情况仪器网站模板
  • 网站开发需要掌握的知识什么软件是做网站模板的
  • wap网站管理系统wordpress评论分页不显示不出来