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

深圳商城网站制作公司信用中国 网站谁建设的

深圳商城网站制作公司,信用中国 网站谁建设的,单一产品企业或多元化产品企业的网站建设与策划有什么不同?,国际服务器介绍一下Spring的IOC ✔️引言✔️ lOC的优点✔️Spring的IOC✔️ 拓展知识仓✔️IOC是如何实现的? ✔️引言 所谓的IOC (inversion of control) ,就是控制反转的意思。何为控制反转? 在传统的程序设计中,应用程序代码通常控制着对象的创建和…

在这里插入图片描述

介绍一下Spring的IOC

  • ✔️引言
  • ✔️ lOC的优点
  • ✔️Spring的IOC
  • ✔️ 拓展知识仓
    • ✔️IOC是如何实现的?


✔️引言


所谓的IOC (inversion of control) ,就是控制反转的意思。何为控制反转?


在传统的程序设计中,应用程序代码通常控制着对象的创建和管理。例如,一个对象需要依赖其他对象,那么它会直接new出来对象。这样的设计通常被称为 “控制流程” 。


而在IOC 中,控制关系发生了反转。控制权被转移到Spring容器中,容器负责创建和管理对象,并在需要的时候将它们注入到应用程序中。


所以,原来这个对象的控制权在我们的代码中,我们自己new的对象,在Spring中,应用程序不再控制对象的创建,而是被动地接受由容器注入的对象。


我们拿代码来举个例了:


下面是一个没有IOC的例子:


class A {}Class B {// B需要将A的实例new出来,也就是我们说的控制private A a = new A();public void use() {System.out.print(a) ;}
}

当有了IOC之后


@Component  //说明A自己控制自己,把自己初始化出来,注入给了容器
class A {}class B {// B不需要控制a,直接使用。如果A没有把自己注入给容器,B就不能使用@Resourceprivate A a;public void use() {System.out .print(a);}
}

也就是说,没有Spring的话,我们要使用的对象,需要我们自己创建,而有了Spring的IOC之后,对象由IOC容器创建并管理,我们只需要在想要使用的时候从容器中获取就行了


值得说明的是,IOC只是一种思想和理念,可以有不同的实现方式。


✔️ lOC的优点


使用IOC,有最少三个好处:


1 . 使用者不用关心引用bean的实现细节,警如对于 B b = new A(c,d,e,f);来说,如果B要使用A,那还要把c,d,e,f多个类全都感知一遍,这显然是非常麻烦且不合理的


2 . 不用创建多个相同的bean导致浪费,仍然是

A b = new A();
A z = new A();

如果B和Z都引用了A,那么B和Z就可能new 两个A实例,实际上,我们只需要一个就好了。

3 . Bean的修改使用方无需感知。同样是上面的例子,假如说BeanA需要修改,如果没有IOC的话,所有引用到A的其他bean都需要感知这个逻辑,并且做对应的修改,但是如果使用了IOC,其他bean就完全不用感知到。


✔️Spring的IOC


对于Spring的IOC来说,它是IOC思想的一种实现方式。在容器启动的时候,它会根据每个bean的要求,将bean注入到SpringContainer中。如果有其他bean需要使用,就直接从容器中获取即可,如下图所示:


在这里插入图片描述

✔️ 拓展知识仓


✔️IOC是如何实现的?


使用Spring的IOC容器能力,非常简单,如下代码所示:


ApplicationContext context= new AnnotationConfigApplicationContext("cn.wxxlamp.spring.ioc");
Bean bean = context.getBean(Bean.class) ;
bean . use() ;

从上面的代码中,我们也能看出来Spring的IOC是如何实现的:

1 . 从配置元数据中获取要DI的业务POJO (这里的配置元数据包括xml,注解,configuration类等)


2 . 将业务POJO形成BeanDefinition注入到Spring Container中


3 . 使用方通过ApplicationContext从Spring Container直接获取即可。如下图所示:


在这里插入图片描述

http://www.15wanjia.com/news/158022.html

相关文章:

  • 北京网站制作设计收费网站设计
  • 苏州网站设计网站怎样查网站备案人的联系方式
  • 怎样从网上卖东西啊新手如何学seo
  • PC端网站开发以及设计费用高档vi设计公司
  • 怎么建立一个公司的网站吗建设 网站工作汇报
  • 网站404页面优化深圳住房与城乡建设部网站
  • 挪车网站开发国外优秀vi设计网站
  • 做网站广告送报纸广告网站打开速度太慢
  • 宁波企业网站排名方法营销策划的重要性
  • 免费制作单页的网站免费自助建站平台
  • 免费网站最新域名好看云在线网站模板下载 迅雷下载 迅雷下载地址
  • 校园网站建设提升做修车行业需要在哪个网站做推广
  • seo网站营销公司浙江网站建设营销
  • 备案网站查询哈尔滨高端品牌网站建设
  • 企业网站哪家公司好网站如何做中英文效果
  • 赣州建设网站目前做那个网站能致富
  • 工程师报考网站网站后台登入模板
  • 建站优化信息推广县文化馆网站建设方案
  • 做外贸哪个网站比较好找建设网站公司
  • 外贸网站如何制作做个中英文网站多少钱
  • 重庆市建设局网站流程优化的七个步骤
  • 黄浦网站建设国内永久免费crm系统网站推荐有哪些
  • 深圳网站设计go网站开发工具js
  • 广东营销网站制作惠州建筑信息平台
  • 网站制作引擎网站开发企业标准
  • 网站 开发 周期wordpress文章伪静态
  • 如何给网站开发挂龙岗区最新通告
  • 网站建设公司合同网站 谁建设 谁负责
  • 网站删除期查询江山网站设计
  • 广西网站建设电话商城网站开发案例