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

聊城做网站推广哪家好北京企业网站开发费用

聊城做网站推广哪家好,北京企业网站开发费用,微信小程序怎么做店铺,提高网站可用性的策略有哪些Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework#xff08;Spring 框架#xff09;#xff0c;它是⼀个开源框架#xff0c;有着活跃而庞大的社区#xff0c;这就是它之所以能长久不衰的原因。Spring 支持广泛的应用场景#xff0c;它可以让 Java 企业级…Spring 是什么 我们通常所说的 Spring 指的是 Spring FrameworkSpring 框架它是⼀个开源框架有着活跃而庞大的社区这就是它之所以能长久不衰的原因。Spring 支持广泛的应用场景它可以让 Java 企业级的应用程序开发起来更简单。 用⼀句话概括 SpringSpring 是包含了众多工具方法的 IoC 容器。 1.什么是容器 容器是用来容纳某种物品的基本装置。 我们学过的容器: List/Map - 数据存储容器 Tomcat - Web 容器 2.什么是 IoC Spring 也是⼀个容器Spring 是什么容器呢Spring 是⼀个 IoC 容器。 什么是 IoC IoC Inversion of Control 翻译成中文是“控制(权)反转”的意思也就是说 Spring 是⼀个“控制反转”的容器 控制(权)反转 对象的生命周期是由当前代码 / 程序员来控制的,当用了 Spring 时,就会由 Spring (Spring 容器)控制 Ioc 的优势 可以实现解耦(松耦合) 我们举 car 的例子来解释: 构建一辆车Car Class然而车需要依赖车身(FrameWork Class)而车身需要依赖底盘BottomClass而底盘需要依赖轮胎Tire Class package old;/*** projectName: test-2023-11-13* package: old* className: car* author: 王嘉辉* description:* date: 2023/11/13 17:04* version: 1.0*//*** 传统的开发*/ public class Car {//车身private FrameWork framework;public Car() {this.framework new FrameWork();}public void init() {System.out.println(执行了 Car init 方法);framework.init();} } package old;/*** projectName: test-2023-11-13* package: old* className: FrameWork* author: 王嘉辉* description:* date: 2023/11/13 18:57* version: 1.0*/ public class FrameWork {private Bottom bottom;public FrameWork() {this.bottom new Bottom();}public void init() {System.out.println(执行了 FrameWork init 方法);bottom.init();} } package old;/*** projectName: test-2023-11-13* package: old* className: Bottom* author: 王嘉辉* description:* date: 2023/11/13 19:00* version: 1.0*/ public class Bottom {private Tire tire;public Bottom() {this.tire new Tire();}public void init() {System.out.println(执行了 Bottom init 方法);tire.init();} } package old;/*** projectName: test-2023-11-13* package: old* className: Tire* author: 王嘉辉* description:* date: 2023/11/13 19:01* version: 1.0*/ public class Tire {private int size 15;public void init() {System.out.println(执行了Tire init. Size: size);} } package old;/*** projectName: test-2023-11-13* package: old* className: Test* author: 王嘉辉* description:* date: 2023/11/13 19:04* version: 1.0*/ public class Test {public static void main(String[] args) {Car car new Car();car.init();} } 我们需要加工多种尺寸的轮胎,就要对上述代码进行修改 package old;/*** projectName: test-2023-11-13* package: old* className: car* author: 王嘉辉* description:* date: 2023/11/13 17:04* version: 1.0*//*** 传统的开发*/ public class Car {//车身private FrameWork framework;public Car(int size) {this.framework new FrameWork(size);}public void init() {System.out.println(执行了 Car init 方法);framework.init();} } package old;/*** projectName: test-2023-11-13* package: old* className: FrameWork* author: 王嘉辉* description:* date: 2023/11/13 18:57* version: 1.0*/ public class FrameWork {private Bottom bottom;public FrameWork(int size) {this.bottom new Bottom(size);}public void init() {System.out.println(执行了 FrameWork init 方法);bottom.init();} } package old;/*** projectName: test-2023-11-13* package: old* className: Bottom* author: 王嘉辉* description:* date: 2023/11/13 19:00* version: 1.0*/ public class Bottom {private Tire tire;public Bottom(int size) {this.tire new Tire(size);}public void init() {System.out.println(执行了 Bottom init 方法);tire.init();} } package old;/*** projectName: test-2023-11-13* package: old* className: Tire* author: 王嘉辉* description:* date: 2023/11/13 19:01* version: 1.0*/ public class Tire {private int size 15;public Tire(int size) {this.size size;}public void init() {System.out.println(执行了Tire init. Size: size);} } package old;/*** projectName: test-2023-11-13* package: old* className: Test* author: 王嘉辉* description:* date: 2023/11/13 19:04* version: 1.0*/ public class Test {public static void main(String[] args) {Car car new Car(20);car.init();} } 当最底层代码改动之后整个调用链上的所有代码都需要修改。 我们使用IoC解耦 package ioc;/*** projectName: test-2023-11-13* package: ioc* className: Car* author: 王嘉辉* description:* date: 2023/11/13 19:56* version: 1.0*/ public class Car {private FrameWork frameWork;public Car(FrameWork frameWork) {this.frameWork frameWork;//frameWork new FrameWork();}public void init() {System.out.println(Car init);frameWork.init();} } package ioc;/*** projectName: test-2023-11-13* package: ioc* className: FrameWork* author: 王嘉辉* description:* date: 2023/11/13 20:00* version: 1.0*/ public class FrameWork {private Bottom bottom;public FrameWork(Bottom bottom) {this.bottom bottom;}public void init() {System.out.println(FrameWork init );bottom.init();} } package ioc;/*** projectName: test-2023-11-13* package: ioc* className: Bottom* author: 王嘉辉* description:* date: 2023/11/13 20:01* version: 1.0*/ public class Bottom {private Tire tire;public Bottom(Tire tire) {this.tire tire;}public void init() {System.out.println(Bottom init);tire.init();} } package ioc;/*** projectName: test-2023-11-13* package: ioc* className: Tire* author: 王嘉辉* description:* date: 2023/11/13 20:02* version: 1.0*/ public class Tire {private int size 15;public Tire() {}public void init() {System.out.println(Tire init. Size: size);} } package ioc;/*** projectName: test-2023-11-13* package: ioc* className: Test* author: 王嘉辉* description:* date: 2023/11/13 20:03* version: 1.0*//*** 模拟Ioc*/ public class Test {private Tire tire;private Bottom bottom;private FrameWork frameWork;private Car car;public Test() {this.tire new Tire();this.bottom new Bottom(this.tire);this.frameWork new FrameWork(this.bottom);this.car new Car(this.frameWork);}public static void main(String[] args) {Test test new Test();test.car.init();} } 代码经过以上调整无论底层类如何变化整个调用链是不⽤做任何改变的这样就完成了代码之间的解耦从而实现了更加灵活、通用的程序设计了。 在传统的代码中对象创建顺序是Car - Framework - Bottom - Tire 改进之后解耦的代码的对象创建顺序是Tire - Bottom - Framework - Car 通用程序的实现代码类的创建顺序是反的传统代码是 Car 控制并创建了FrameworkFramework 创建并创建了 Bottom依次往下而改进之后的控制权发生的反转不再是上级对象创建并控制下级对象了而是下级对象把注入将当前对象中下级的控制权不再由上级类控制了这样即使下级类发生任何改变当前类都是不受影响的这就是典型的控制反转也就是 IoC 的实现思想。 3.Spring IoC Spring 是包含了多个工具方法的 IoC 容器这就是对Spring 最核心的总结。 Spring 是⼀个 IoC控制反转容器重点还在“容器”⼆字上那么它就具备两个最基础的功能 将对象存入到容器从容器中取出对象。 也就是说学 Spring 最核心的功能就是学如何将对象存入到 Spring 中再从 Spring 中获取对象的过程。 将对象存放到容器中的好处将对象存储在 IoC 容器相当于将以后可能用的所有⼯具制作好都放到仓库中需要的时候直接取就行了用完再把它放回到仓库。而 new 对象的方式相当于每次需要工具了才现做⽤完就扔掉了也不会保存下次再用的时候还得重新做这就是 IoC 容器和普通程序开发的区别。 4.DI 概念说明 说到 IoC 不得不提的⼀个词就是“DI”DI 是 Dependency Injection 的缩写翻译成中⽂是“依赖注入”的意思。 所谓依赖注入就是由 IoC 容器在运行期间动态地将某种依赖关系注入到对象之中。所以依赖注入DI和控制反转IoC是从不同的⻆度的描述的同⼀件事情就是指通过引入 IoC 容器利用依赖关系注入的方式实现对象之间的解耦。 IoC 是“目标”也是⼀种思想而目标和思想只是⼀种指导原则最终还是要有可行的落地方案而 DI就属于具体的实现。
http://www.pierceye.com/news/393998/

相关文章:

  • 做网站公司郑州设计师能做网站前端吗
  • 建设工程交易中心网站中国监察报电子版
  • 网站正在建设中 倒计时软文写作范例大全
  • 左中右三栏布局网站建设网站建设微金手指下拉15
  • 做网站公司怎么找数字营销招聘
  • 做网站域名和空间费如何创建一个新网站
  • 前程无忧网广州网站建设类岗位wordpress建站教程视频
  • 徐州建设公司网站最吉祥的公司名字大全
  • wordpress网站前端优化怎么做网站导航地图
  • 成都市武侯区建设局门户网站自助快速建站
  • 专业视频网站开发公司兰州装修公司报价明细表
  • 企业网站管理系统的运维服务建设黑彩网站需要什么
  • 揭阳自助建站大数据就业方向及前景
  • 提供盐城网站开发dreamwearver可以做网站吗
  • 龙岩市建设局网站求大哥给个狼站2022
  • 优化算法 网站让移动网站
  • tomcat 怎么做网站网站免费推广平台
  • 山东定制型网站建设推广上传的网站打不开
  • 定制一个企业网站多少钱东莞网站竞价推广运营
  • o2o的网站有哪些制作简单网页的步骤
  • 东莞网站设计制作教程网站架构的重要性
  • 网站建设 企业观点南阳做网站aokuo
  • 深圳做网站(信科网络)减肥产品网站模板
  • 在线教育网站开发方案wordpress 内存超限
  • 网站上的网站地图怎么做中国建设银行官网开户行查询
  • 大学网站建设wordpress函数调用
  • 如何上传自己做的网站wordpress the content
  • 公司网站介绍范文dede手机网站标签
  • 彩票网站什么做公司内部网络怎么建立
  • 江苏网站备案要多久wordpress素材模板怎么用