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

1688外贸网站cms系统管理

1688外贸网站,cms系统管理,狼人通知紧急页面自动升级,wordpress 小米主题制作1.Spring是什么 Spring是包含了众多工具方法的IoC容器 2.loC(Inversion of Control )是什么 IoC:控制反转,Spring是一个控制反转容器(控制反转对象的生命周期) Spring是一个loC容器,我们之前学过的List/Map就是数据存储的容器,to…

1.Spring是什么

Spring是包含了众多工具方法IoC容器

2.loC(Inversion of Control )是什么 

IoC:控制反转,Spring是一个控制反转容器(控制反转对象的生命周期)

Spring是一个loC容器,我们之前学过的List/Map就是数据存储的容器,tomcat是Web的容器,

2.1 传统开发中的缺陷(耦合问题)

 比如一个汽车程序(依赖注入)的设计, 汽车依赖车身,车身依赖底层,底层依赖轮胎,每当轮胎要新加一些个性化设计,依赖轮胎的东西都要进行重加代码,耦合性太高(当一个类反发生改变,其他类也得做出相应的改变)


public class Tire {private int size=20;public Tire(int size){this.size=size;}/*** 当tire 发生了个性化的改变,随之而变得就是依赖Tire 的Bottom* */public void init(){System.out.println("执行了轮胎的初始化方法,size="+this.size);}}public class Bottom {//底盘private Tire tire;public Bottom(int size){tire = new Tire(size);}public void init(){//依赖轮胎tire.init();}
}public class Framework {private Bottom bottom;//车身依赖地盘public  Framework(int size){bottom = new Bottom(size);}public void init(){bottom.init();}}public class Car {private Framework framework;public Car(int size){framework=new Framework(size);}public void init(){framework.init();}
}

当新加入这段代码,后续就得改Bottom中的Bottom的构造方法,向其中传入参数int size,后续也得向Farmework,Car中的构造方法加入参数

用专业一点的话来讲就是:当底层代码改动后,整个调用链上所有的代码都需要修改

 2.2 改进后(低耦合)——IoC思想


public class Tire {private int size=20;public Tire(int size){this .size=size;}public void init(){System.out.println("轮胎size"+size);}
}public class Bottom {private Tire tire;public Bottom(Tire tire){// tire=new Tire();这是最初的写法this.tire = tire;}public void init(){System.out.println("执行 Bottom");//依赖轮胎tire.init();}
}public class Framework {private Bottom bottom;public Framework(Bottom bottom){//之前是new一个Bottom对象,并且传入参数this.bottom = bottom;}public void init(){//依赖底盘;System.out.println("执行 Framework");bottom.init();//这一步就需要引用成员变量;}
}public class Car {private Framework framework;public Car(Framework framework){this.framework=framework;}public void init(){System.out.println("执行Car");//依赖车身framework.init();}
}
public class App {public static void main(String[] args) {Tire tire=new Tire(15);Bottom bottom=new Bottom(tire);Framework framework=new Framework(bottom);Car car=new Car(framework);car.init();}
}

 改进后:传递一个Tire对象给Bottom。

本质上就是对象的生命周期发生了改变,这张图很明显能看出来控制反转。

2.3 小结

 可以发现,类的创建顺序是反的,传统代码是Car控制并创建Framework,Framework控制并创建Bottom,依次往下,而改进后控制权发生反转,不再是上级对象控制并创建下级对象,而是把下级对象注入到上级对象里面,下级的控制不再由上级类控制了,这样即使下级类发生任何改变,当前类都是不受控制的,这就是经典的控制反转,也是IoC思想。

3.理解Spring IoC

既然Spring是一个loC(控制反转)容器,重点还在"容器"二字上,那么它就具备两个最基础的功能:

将对象存入到容器;
从容器中取出对象。
也就是说学 Spring 最核心的功能,就是学如何将对象存入到Spring中,再从Spring 中获取对象的过程。

将对象存放到容器中的好处:将对象存储在loC 容器相当于将以后可能用的所有工具制作好都放到仓库中,需要的时候直接取就行了,用完再把它放回到仓库。而new 对象的方式相当于,每次需要工具了,才现做,用完就扔掉了也不会保存,下次再用的时候还得重新做,这就是loC容器和普通程序开发的区别。
Spring 是一个 包含多个工具和方法的loC 容器,说的是对象的创建和销毁的权利都交给 Spring 来管理了,它本身又具备了存储对象和获取对象的能力。
 

4.DI(Dependency Injection)说明 

DI(依赖注入):在程序运行期间,动态的将某个对象引入到当前(/行为)的机制

IoC是思想,DI是具体的实现。

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

相关文章:

  • wordpress整站搬家教程三牛网络推广
  • 义乌 外贸网站 开发深汕特别合作区小漠镇
  • 百度网盘搜索引擎网站推广服务公司
  • 专业的论坛网站建设天津seo网站排名优化公司
  • 百度网站开发青羊区定制网站建设报价
  • 旧安卓手机做网站咋自己做网站
  • 企业平台网站建设网站可以做哪些广告语
  • 照明灯具类企业网站网站后端技术有哪些
  • 企业网站推广的方法有网站建设优化服务策划
  • 织梦摄影网站模板flash代码做网站教程
  • 圣沃建设集团官方网站全国微信公众号100强排行榜
  • 北京网站建设策划排名网站为什么续费
  • 网站开发专业定制做电商网站报价
  • 网站开发加设计要多少钱苏州园区人才网
  • 网站建设 互诺科技asp建设的网站制作
  • 如何创造一个网站网站建设需要懂什么软件
  • 在门户网站管理建设工作讲话潜江资讯网房屋出租
  • wordpress 很好的博客淘宝seo排名优化软件
  • 福州餐饮网站建设专业网页制作报价
  • 用自己的电脑做网站划算中恒建设职业技术培训学校网站
  • 企业网站建设的作用专业影视广告制作公司
  • 磁县企业做网站推广中国室内设计师
  • 网站开发 图片库做电子商务网站建设工资多少钱
  • 内容网站 如何做采集布吉网站建设价格
  • 做网站怎么让字居右盱眙网站制作
  • 手机建行网站蕲春住房和城乡建设局网站
  • 做的网站无法显示此页全自动在线网页制作
  • 网站建设 技术要求怎么在网站上建设投票统计
  • 中国建设银行门户网站企业网站关键词怎么做
  • 网站建设的案例网站切版教程