Spring框架介绍
概念:Spring是一个开源的框架,并且是一个轻量级的java开发框架
前身:interface21是他的前身
Spring理念:使现有的技术更加容易使用,本身就是一个大杂烩,整合了现有的主流技术框架
优点:
- 方便解耦,简化开发 (高内聚低耦合)
Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
spring工厂是用于生成bean
- AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
- 声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
- 方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
- 方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
- 降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低
Spring是一个开源的免费框架(容器)
Spring是一个轻量级的,非入侵式的框架
Spring支持事务的处理,对框架的整合的支持
- 总结:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架
控制反转(IOC容器)
IOC原型:
之前: userDao 接口 userDaoImpl实现类 userService业务接口 userServiceImpl业务实现类
缺点: 代码量大,修改成本高,若是多个业务需要频繁修改对象
解决: 在userServiceImpl使用set注入来被动创建对象
区别: 之前是程序主动创建对象,是程序员来控制的。现在使用set注入后不在具有主动性,变成了被动接收对象,不用再修改业务模块的代码
优点: 这种思想本质上的解决了问题,程序员不需要再管理对象的创建,系统的耦合性大大降低,更加专注于业务的实现