Spring是一个轻量级的开源框架,为了解决企业应用开发的复杂性而创建的,Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。之所以说Spring是一站式框架,因为(Spring框架属于容器)
Spring的的核心是控制反转(IoC)和面向切面(AOP)。
EE开发分成三层结构:
1)WEB层:Spring MVC
2)业务层:Bean管理(IOC)
3)持久层:Spring的JDBC模块,ORM模块整合其他的持久层框架。
为什么用Spring?
- 方便解耦,简化开发。
Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring管理。 - AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。 - 声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无须手动编程。 - 方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序。 - 方便集成各种优秀的框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts2、Hibernate、MyBatis、Quartz等)的直接支持。 - 降低JavaEE API的使用难度
Spring对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低。