众所周知,java的核心五大框架:spring,springmvc,mybatis,struts2,hebernate,今日我就简单地谈一下我对spring这个核心框架的理解。
首先,我们为什么要用spring这个框架,它的主要作用是什么呢?
其实spring最主要的功能就是解耦,举个简单的栗子,有两个类A和B,如果在B类里调用A类的方法需要new一个A对象,在A类里调用B类方法也需要new一个B对象,就是A中有B,B中有A,但是我们如果用spring框架的话就是将newAB对象的事都交给了IOC容器,我们只需要在A类里面引用一下B,在B里面引用一下A,这样解释可能有点模糊,再举个栗子,有ABCDE五个类,如果他们之间相互要调用,将会非常复杂,可能会引发一些未知的冲突,但是我们如果把他们都交给spring来管理就会变得非常规范条理,具体地看下图就明白了。
spring框架主要是要实现代码的高内聚、低耦合,即降低模块间的联系,提高代码的独立性。实际上的作用我认为是为三层结构服务的,即Controller、Service、Dao层,是为了降低三层之间的耦合性,使代码的层次更加分明,也让程序员间的分工更明确。
spring主要用到了哪些技术?
1、单例模式
2、反射机制
3、AOP(面向切面编程)