- 为什么要使用Spring?
1)IOC和DI能有效降低耦合,提升代码的可扩展性;
2)AOP的编程思想能使代码更容易扩展,能更方便的进行诸如权限控制,运行监控等功能的实现。
3)Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis等)的直接支持。 - 什么是IOC?
IOC即控制反转,传统的程序,我们在类内部主动创建依赖对象,需要的资源也是在类中主动获取,这样会造成类与类之间高度耦合,难以测试和扩展功能。控制反转就是将这个过程反过来,由IOC容器来创建类所需要的对象并将之注入到类中,类是被动的接受IOC容器给它的资源,利于功能的复用,也方便测试,使整个程序的结构变得更加灵活。 - 什么是DI?
DI即依赖注入,组件之间的依赖由容器运行期间决定。就是在容器运行的时候动态的将依赖注入到组件之中。其实控制反转和依赖注入讲的是一个东西,只是描述的角度不同而已。他能使我们只需要简单的配置,无需代码就能获取到想要的资源,完成自身的业务逻辑,而不用关心资源从哪里来,由谁来实现它。 - 什么是AOP?
AOP即面向切面编程,简单的来说就是把类中重复的功能提取出来单独作为一个组件。能有效提高代码的可复用性。如下:
- 问题:只看定义很难理解这些编程思想,怎样才能通俗易懂的理解这些名词?
解决途径:百度查看别人的学习笔记,通过形象的例子来加深理解。
https://blog.csdn.net/alexander_phper/article/details/77097807
这是我觉得讲的比较好的一篇博客,他讲的是控制反转和依赖注入,文中通过几个例子的伪代码,来一步一步来实现容器自动注入组件之间的依赖。