初识Spring
Spring 设计目标
Spring设计目标是:Spring为开发者提供一个一站式轻量级应用开发平台;
Spring设计理念是:在JavaEE开发中,支持POJO和JavaBean开发方式,使应用面向接口开发,充分支持OO设计方法;Spring通过IoC容器实现对象耦合关系的管理,并实现依赖反转,将对象之间的依赖关系交个IoC容器,实现解耦;
Spring体系的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他们之间的相互耦合关系;通过AOP以动态非侵入的方式增强服务。
Spring整体架构
将Spring划分为:Spring IoC、Spring AOP、Spring MVC、Spring JDBC/ORM、Spring 事务处理、Spring 远端调用、Spring应用。
Spring IoC:包含最基本的IoC容器BeanFactory接口的设计与实现。例如,XmlBeanFactory是BeanFactory的实现。还有IoC容器的高级形式ApplicationContext,例如:FileSystemXMLApplicationContext、ClassPathXMLApplicationContext等实现。
Spring AOP:在JDK动态代理和CGLIB基础上实现了AOP,Spring还集成了AspectJ作为AOP的一个特定实现。
Spring MVC:该模块是以DispatcherSerlet为核心,实现MVC模式。
Spring JDBC/ORM:Spring对JDBC进行封装,提供了JdbcTemplate作为模板类,封装了基本的数据库操作方法(查询、更新);Spring JDBC还提供了RDBMS的操作对象,使得这些操作可以以面向对象的方法来使用JDBC。
Spring 事务处理:该模块是通过Spring AOP实现的自身功能增强,实现了声明式事务处理功能。
Spring 远端调用:通过Spring,封装从Spring应用到Spring应用之间端到端调用。
Spring应用:严格意义上不属于Spring范围。该部分来自于Spring的广泛的子项目。