Spring是一个开源框架,为简化企业级应用开发而生。Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能。Spring是一个IOC和AOP容器框架。Spring容器的主要核心是:
● 控制反转(IOC):传统的java开发模式中,当需要一个对象时,会使用new或者getInstance等直接或者间接调用构造方法创建一个对象。而在spring开发模式中,spring容器使用了工厂模式创建了所需要的对象,不需要自己创建,直接调用spring提供的对象就可以,这是控制反转的思想。
● 依赖注入(DI),spring使用javaBean对象的set方法或者带参数的构造方法在创建所需对象时将其属性自动设置所需要的值的过程,就是依赖注入的思想。
● 面向切面编程(AOP):在面向对象编程(oop)思想中,将事物纵向抽成一个个的对象。而在面向切面编程中,将一个个的对象某些类似的方面横向抽成一个切面,对这个切面进行一些如权限控制、事物管理,记录日志等。公用操作处理的过程就是面向切面编程的思想。AOP底层是动态代理,如果是接口采用JDK动态代理,如果是类采用CGLIB方式实现动态代理。