概念
是一个轻量级的JAVA开源开发框架,核心是控制反转(IoC)和面向切面(AOP)
优点
1)方便解耦,简化开发
Spring是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理
2)AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截,运行监控等功能
3)声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
4)方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
5)方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts,Hibemate,MyBatis,Quartz等)的直接支持
6)降低JavaEE API的使用难度
Spring对JavaEE开发中非常难用的一些API(JDBC,JavaMail,远程调用等),都提供了封装,使这些API应用难度大大降低
耦合
模块间的耦合度是指模块之间的依赖关系,包括控制关系,调用关系,数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差