2.0 Spring理论拓展以及Spring IOC理论推导:
Spring理论拓展:
· Spring Boot
·一个快速开发的脚手架
·基于SpringBoot可以快速开发单个为服务器
·约定大于配置
·Spring Cloud
·Spring Cloud是基于Spring Boot来实现的
因为现在大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring以及SpringMVC!
弊端:经过长久的开发,已经违背了最初设计spring的理念,人称”配置地狱”
3.0 Spring IOC理论推导:
在我们之前的业务中,客户的需求可能影响我们原来的代码,我们需要根据用户的需求去修改原代码!如果程序代码量十分庞大,修改一次的成本就会十分昂贵!
我们在此使用了一个set接口注入的方式实现,使得程序发生了革命性的变化!
Private UserDao userDao;
//利用set进行动态实现值得注入
Public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
·之前程序是主动创建对象!控制权在程序猿手上!
·在使用了set注入后,程序不再具有主动性而是变成了被动的接受对象!
这种思想,在本质上解决了问题,我们程序猿不用再去管理对象的创建了,系统的耦合性大大降低,可以更加专注的放在业务的实现上了!这就是IOC的原形
·什么是耦合性?
耦合性指的是系统模块之间的关联复杂程度,也就是说耦合性越高,模块之间的联系越紧密,则系统的独立性就越低,我们使用IOC(控制反转)能够很好的降低系统的耦合性,从而大大提升独立性。
·IOC的本质是什么?
IOC(控制反转)是一种设计思想,DI(依赖注入)是实现IOC的一种方法
没有IOC的程序中,对象的创建与对象间的依赖关系,完全由程序猿掌控由程序猿来创建,硬性的编码在程序之中。
而IOC控制反转值周的程序对象创建由程序猿转移给了第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了(由程序猿转移至了第三方客户)