一、spring框架的介绍
spring是一个一站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层(springdata)的全套解决方案;spring的两大核心IOC(控制反转)和AOP(面向切面编程)更是给我们的程序解耦和代码的简介提供了支持。
二、springmvc
- springmvc给spring的表现层提供支持
- springmvc的流程:
(1)用户发送请求至前端控制器DispatcherServlet;
(2)dispatcherServlet收到请求调用HandlerMapping处理器映射器;
(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成);
(4)DispatcherServlet通过HandlerAdapter处理器适配器调用处理器,执行处理器(Controller,也叫后端控制器);
(5)Controller执行完成返回ModelAndView,并返回给HandlerAdapter,HandlerAdapter将结果返回给DispatcherServlet;
(6)DispatcherServlet将ModelAndView传给ViewReslover视图解析器,ViewReslover解析后返回具体View给DispatcherServlet;
(7)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)后返回给给客户
三、AOP与IOC
- AOP与IOC给spring的业务层提供支持,使程序的耦合度更低,代码更简介
- AOP原理:既面向切面编程,就是提取公共部分,集中解决一些公共问题,主要是通过动态代理来实现面向切面编程
面向切面编程涉及:前置通知,后置通知,环绕通知,异常通知
- IOC(Inversion of control)原理:控制反转思想,主要是通过DI(Dependency Injection )实现。在传统过程中,当某一个对象依赖于另外一个对象时,会由该对象去创建另外一个对象,有了ioc后,将创建过程交给IOC,由spring创建bean,从而只需给该对象注入即可。spring创建bean的方式有:无参构造器和有参构造器创建,注解创建,注入的方式有:通过注解注入(如autowired)和get,set方法注入