spring框架ioc(控制反转)第一讲
今天带来的是框架的学习,从今天开始,将会和以前的项目有所不同,从分层和实现类上更加的规范,在将框架之前,首先要了解一下crm系统技术架构:
CRM即客户关系管理,是指企业用CRM技术来管理与客户之间的关系。
![](https://img2018.cnblogs.com/blog/1338001/201901/1338001-20190107210859275-1200952727.png)
1 spring介绍
Spring是分层的JavaSE/EE应用一站式的轻量级开源框架(官网: http://spring.io/ ),以Ioc(Inverse of control)控制反转和Aop(Aspect Oriented Programming)面向切面编程为核心。
轻量级:针对EJB来说,使用方便。
一站式:spring针对各各层(表现层、业务层、持久层)提出解决方案。
表现层:springmvc(spring自己的mvc框架),提供和其它web框架整合方案。
业务层:spring基于aop(面向切面编程)思想进行事务控制。
持久层:spring自己提供JdbcTemplate,提供和其它持久层框架整合的方案。
spring核心 :Ioc(控制反转)和aop(面向切面编程)。
重点是:IOC,spring要管理各各层的bean。
我们重点讲IOC(控制反转)
2 什么是IOC
不使用ioc,代码中创建一个对象直接操作接口实现类,并没有面向接口开发。
面向接口开发:调用接口的方法,只面向接口而不面向接口实现类,因为一个接口可能有多个实现类。
没有面向接口开发的问题:调用接口的类和接口实现类之间存在直接耦合。
解决:
将调用接口的类和接口实现类要解耦合。
可以通过将创建接口实现类对象的工作交给工厂来作。
什么是IOC:
IoC (Inverse of Control)即控制反转。是指将原来程序中自己创建实现类对象的控制权反转到IOC容器中。只需要通过IOC获了对象的实例,将IOC当成一个黑盒子、工厂。
加入spring的jar包
导入IOC核心容器jar包
- spring-beans-4.2.4.RELEASE.jar
- spring-context-4.2.4.RELEASE.jar
- spring-core-4.2.4.RELEASE.jar
- spring-expression-4.2.4.RELEASE.jar
spring使用JCL日志体系(commons-logging-1.2.jar)
commons-logging:相当 于原来的slf4j,只有日志接口
还需要加入日志实现:log4j
小结:用 spring等框架完成的项目和之前最大的不同之处就是后面主要是配置文件的书写,这样会节省许多代码,也有利于将来的维护。