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

蓝山网站建设西安有哪些网站建设公司

蓝山网站建设,西安有哪些网站建设公司,店铺设计包含哪些内容,wordpress商品系统文章目录 前言 一、Spring是什么#xff1f; 二、什么是容器#xff1f; 三、什么是IoC? 3.1 初始loC 3.2 举例解释loC 3.3 Spring IoC思想的体现 四、什么是DI#xff1f; 4.1DI的概念 4.2 Ioc和DI的区别 总结 前言 今天我们将进入到有关spring的认识当中 二、什么是容器 三、什么是IoC? 3.1 初始loC 3.2 举例解释loC 3.3 Spring IoC思想的体现 四、什么是DI 4.1DI的概念 4.2 Ioc和DI的区别 总结 前言 今天我们将进入到有关spring的认识当中要使用它的前提就是要认识并熟悉它上一节我们介绍了有关maven的配置必须要配置完成后才能完成我们后面的学习工作让我们进入到今天的学习当中吧 一、Spring是什么 概念 我们通常所说的 Spring 指的是 Spring FrameworkSpring 框架它是⼀个开源框架有着活跃⽽庞⼤的社区这就是它之所以能⻓久不衰的原因。Spring ⽀持⼴泛的应⽤场景它可以让 Java 企业级的应⽤程序开发起来更简单。 一句话总结就是 Spring是包含了众多工具方法的IoC容器 那么问题来了工具方法是什么IoC是什么容器又是什么 工具方法我们以后再说我们先来看看IoC和容器 二、什么是容器 容器容器肯定是要装东西的。其实我们之前学的List还有Tomcat都是容器为啥这样说呢  你看List/Map里面放的是不是都是数据那他不就相当于是一个数据存储容器吗 还有Tomcat他里面不是有webapps这个目录我们之前不都是把servlet项目代码放到webapp这个目录下吗这个webapps不就是项目的容器吗而这个webapps目录是Tomcat下面的一个子目录那么我们把Tomcat称作是一个Web容器完全没有问题呀 三、什么是IoC? 3.1 初始loC Spring也是一个容器而且Spring就是一个IoC容器。 那么关键的来了什么是IoC IoC Inversion of Control 翻译成中文就是控制反转的意思。 也就是说Spring是一个”控制反转“容器。 这个控制反转是什么意思呢 你看一般情况下我们在A类中想要去调用B类中的方法是不是需要我们在A类中去实例化B类new一个B类对象然后再通过这个实例化出来的对象去调用B类中的方法。 也就是说当前B类的控制权是再我们A类手中的但是这样会带来一些问题如耦合性过高很多情况下我们没必要用到谁就实例化谁我们可以让”其他人“来操作也能够满足我们的要求同时这个时候B类的生命周期也与我们A类无关我们不需要操心那么多我们只要能拿到我们需要的就好相当于我们把控制权交给了这个其他人我们在需要用操作对象时候让这个”其他人“来帮助我们来管理就好了。 谁调用A谁就把A需要的B来传给但B的生命周期与A类无关这样即使B类发生了变化A类也不用管 这个“其他人”就是 Spring 框架。 此时我们想要 A 类中调用 B 的时候 告诉 框架我要在 A 中 调用 B 了。 至于 B 的生命周期和我们没有任何关系。这是控制反转。 前面说过 Spring 是一个 控制反转 的 容器。 也就是 像之前在传统开发的时候所有需要我们自己去new东西都不需要我们再去new 了。 因为我们把控制权 “反转给了” Spring 框架。 Spring 会帮我们管理所有的对象Bean 在 Spring 中我们管 对象叫做 Bean。 3.2 举例解释loC 下面我们结合一个具体的例子来看看IoC思想有什么好处 假如我们现在构建⼀辆“⻋”的程序我们的实现思路是这样的  构建⼀辆⻋Car Class然⽽⻋需要依赖⻋身(FrameWork Class)⽽⻋身需要依赖底盘BottomClass⽽底盘需要依赖轮胎Tire Class最终程序的实现代码如下 这样有什么问题呢 就是当我们的Tire的size需要改变的时候从上到下因为Bottom依赖Tire所以Bottom要对应的改变同时FrameWork又依赖着Bottom那么FramWork也要做出对应的改变同时Car又依赖着FrameWork所以Car类也要做出必要的改变。 不信你看代码  这样下来从上到下都有改变整个代码的耦合性太高了。 为啥会这样呢 因为每个类中都⾃⼰创建下级类自己把活都干了。当下级类发⽣改变操作自己随着也要改变。 但这其实完全是没有必要的 比如我们在Car类中我们需要的只是一个FrameWork对象你给我们传一个FrameWork对象不就好了吗我干嘛还要自己new一个对象呢new完后还有摊子事真是吃力不讨好 解决方案: 此时我们只需要将原来由⾃⼰创建的下级类改为传递的⽅式也就是注⼊的⽅式因为我们不需要在当前类中创建下级类了所以下级类即使发⽣变化创建或减少参数当前类本身也⽆需修改任何代码这样就完成了程序的解耦减少了代码之间的关联性 代码如下 从上图也可以看出我们是分别在各自的类中传入了该类所需要的对象那么对象的创建到达在那里呢 在另外一个代码但这个代码其实就和我们整个车的构建是无关的只是负责构建驱动这个车;  APP类的代码调整  代码经过以上调整⽆论底层类如何变化整个调⽤链是不⽤做任何改变的这样就完成了代码之间的解耦从⽽实现了更加灵活、通⽤的程序设计 规律总结 在传统的代码中对象创建顺序是           Car - Framework - Bottom - Tire改进之后解耦的代码的对象创建顺序是Tire - Bottom - Framework - Car我们发现了⼀个规律传统代码是 Car 控制并创建了FrameworkFramework 创建并创建了 Bottom依次往下 ⽽改进之后的控制权发⽣的反转不再是上级对象创建并控制下级对象了⽽是下级对象把注⼊将当前对象中下级的控制权不再由上级类控制了这样即使下级类发⽣任何改变当前类都是不受影响的这就是典型的控制反转也就是 IoC 的实现思想 3.3 Spring IoC思想的体现 那么Spring的IoC思想体现在哪个地方呢 本⽂刚开始咱们就讲Spring 是包含了多个⼯具⽅法的 IoC 容器这就是对 Spring 最核⼼的总结。“集成多个⼯具⽅法”这事咱们以后慢慢再讲那如何理解“Spring 是⼀个 IoC容器”这句话呢 既然Spring是一个IoC(控制反转)的容器那么重点还在容器这两个字上那么他就具备两个最基础的功能 将对象存到容器中从容器中取出对象也就是学Spring最核心的功能就是学习如何将对象存到Spring当中在从Spring中获取对象的过程中 我们一开始就说了IoC就是控制权的转移在这里我们就是把new对象的操作来交给Spring来做了我们只用在需要的时候把对象从Spring当中取出来就行这样我们项目代码本身就不要操心对象事情了Spring 会帮我们管理所有的对象Bean 总结 Spring 是⼀个 IoC 容器说的是对象的创建和销毁的权利都交给 Spring 来管理了它本身⼜具备了存储对象和获取对象的能力 使用Spring的好处 将对象存放到容器中的好处将对象存储在 IoC 容器相当于将以后可能⽤的所有⼯具制作好都放到仓库中需要的时候直接取就⾏了⽤完再把它放回到仓库。⽽ new 对象的⽅式相当于每次需要⼯具了才现做⽤完就扔掉了也不会保存下次再⽤的时候还得重新做这就是 IoC 容器和普通程序开发的区别。 四、什么是DI DI全称Dependency Injection当某个java 实例需要另一个java实例时创建被调用者的工作不是由调用者实现而是由spring容器来完成然后注入调用者因此称为依赖注入 4.1DI的概念 说到 IoC 不得不提的⼀个词就是“DI”DI 是 Dependency Injection 的缩写翻译成中⽂是“依赖注⼊”的意思。 dependency,这个词相信大家并不陌生 就是我们 在 pom.xml 中 引入依赖的时候需要用到的标签。 那么依赖注入又是什么呢  所谓依赖注入就是由 IoC 容器在运行期间动态地将某种依赖关系注入到对象之中。所以依赖注入DI和控制反转IoC是从不同的角度的描述的同⼀件事情——就是指通过引⼊ IoC 容器利用依赖关系注入的方式实现对象之间的解耦  举例说明 总结IoC和DI在广义上都是一回事 4.2 Ioc和DI的区别 这个时候就会有一个经典的面试题了——IoC和DI有什么区别 解析 IoC是一种思想DI是一种实现 举例说明 假设我们有一天心情非常好 决定下班之后吃顿好的。 这就是一种思想. 但是我们有说要吃什么吗 很明显是没有的 IoC就是这样的。 我把权限交由 Spring当我需要使用某个对象的时候直接向它要。 这哥对象怎么给我的我不管注IoC只关注是否能拿到这个对象。 而 DI 就是一个具体实现我准备下班去吃海底捞。 此时吃什么是不是就明确落实了 吃海底捞就是具体的实现。DI 关注于 怎么将 依赖 注入 对应的对象里面。 总结 1、Spring 是什么如何理解 Spring Spring 是一个包含 众多工具方法 的 IoC 容器。 既然 Spring 是一个 IoC 容器反转控制容器。 Spring是 存储 IoC【反转控制后的对象】 的一个容器。 2、IoC 和 DI 是什么有什么区别 Ioc全称Inversion of Control把创建对象的权利交给容器对象的实例不再由调用者来创建而是由容器来创建容器会负责控制程序之间的关系而不是由调用者的程序代码直接控制。这样控制权由应用代码转移带了容器控制权发生了反转这就是控制反转。它是spring框架的核心思想之一。 DI全称Dependency Injection当某个java 实例需要另一个java实例时创建被调用者的工作不是由调用者实现而是由spring容器来完成然后注入调用者因此称为依赖注入。 IoC - Inversion Of Control控制反转 主要是将 对象的权限创建与销毁交由 Spring 来管理。 程序员 不必再去 new 对象了 在使用到某个对象的时候直接向 Spring 索取直接使用即可。  DI - dependency injection依赖注入 将 引入的依赖 执行所依赖的对象拿过来使用。 区别 IoC 是一种 思想。 DI 是具体的实现。 3、Spring最核心的功能是什么 既然 Spring 是一个容器那么肯定是具有容器的两个核心功能存 和 取。 1、将 Bean反转的对象存储到 Spring 容器中。 2、将 Bean反转的对象从 Spring 容器中取出来。 这也就是 Spring 的 两个核心功能。 本节内容就介绍到这里让我们下一期内容再见吧
http://www.dnsts.com.cn/news/215935.html

相关文章:

  • 网页对于网站有多重要网站后台模板 jquery
  • 温州网站建设首选国鼎网络免费做ppt的网站
  • 如何建设网站效果好网站建设开发ppt模板下载
  • 山东省建设部继续教育网站南京网站建设公司
  • 电子书推送网站怎么做手机网站建设进度
  • 做中国o2o网站领导山西建设投资集团有限公司
  • 大型 网站 建设 公司wordpress post type
  • 企业网站建设及推广研究个人网页生成器
  • 怎样建外贸网站php 网站缩略图
  • 北京智能网站建设哪里好温县住房与城乡建设局网站
  • 商贸营销型网站案例logo设计的六大要素
  • 成都 网站建设公司哪家好购买网站模板
  • 自助公益网站建设搭建网站需要备案吗
  • 免费空间建网站网站建设入的什么科目
  • 网站绑定两个域名怎么做跳转深圳软件定制哪家好
  • 网站建设免费太仓网站开发建设服务
  • 乐清企业网站建设wordpress 菜单 手机端
  • 网站制作高手住房及城乡建设部信息中心网站
  • 网站建设的主要步骤wordpress 杂志模板下载
  • 网站风格设计seo网站编辑优化招聘
  • 建设网站模板免费网站建设 東道网络
  • 微信分销网站建设用途网站界面建议
  • 510企业网站系统源码做教育培训应该注册什么公司
  • seo网站改版网站在备案期间怎么建设
  • 互联网站淘宝店招免费做的网站有
  • 做外卖那些网站好购物类网站的设计特点
  • 建筑网站建设公司wordpress获取新密码
  • 网站优化 检测响应速度公司变更经营地址需要哪些资料
  • 服饰类电商网站建设策划网站弹窗广告代码
  • 河南法制建设网站wordpress 精简主题