定义:一个分层Java SE/ EE full-stack轻量级开源框架
重要概念:
控制反转(Inverse of Control,IOC):对组件对象控制权的转移,从程序代码本身转移到外部容器,通过容器实现对象组件的装配和管理。
依赖注入(Dependency Injection,DI)
特点:
1,不同于其他framework,其提供的是一种管理你的业务对象的方法。
2,有分层的体系结构,意味着你可以仅仅使用它其中一部分。
3,它的设计是为了帮助编写易于测试的代码,是使用测试驱动开发(TDD)工程的理想框架。
4,不会给你的工程添加对其他框架的依赖。
为什么要使用Spring?
1、能有效组织中间层对象。
2、能消除许多工程中常见的对singleton的过多使用。
3、通过一种在不同应用程序和项目间一致的方法来处理配置文件。
4、能够容易培养面向接口而不是面向类的编程习惯。
5、spring的设计会让使用它创建的应用尽可能少地依赖它的api。
6、易于单元测试。
7、是EJB成为一个实现选择,而不是必须选择。
8、提供一些web应用上的EJB的替代方案,如用AOP提供声明性事务管理。
9、为数据存储提供了一个一致的框架,不论是使用JDBC还是ORM产品。