对springIOC的理解
- IoC (Inversion of Control): 即反转控制。它是一种设计模式,由spring框架来负责控制对象的生命周期和对象间的关系
- Spring的四个特点:
- 轻量级
- 依赖注入:在系统运行中,动态的向某个对象提供它所需要的其他对象
- 面向切面编程
- 是一个容器
- 在applicationContext.xml中通过注入
- SpringIOC可以管理bean的生命周期,管理过程为:
- 通过构造方法或工厂方法创建bean实例
- 通过为bean的对象赋值
- 调用bean的初始化方法
对SpringMVC的理解
- MVC(Model, View and Controller)
- SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web 框架,即使用了MVC架构模式的思想,将web 层进行职责解耦,基于请求驱动指的就是使用请求(Request)‐响应(Response)模型,框架的目的就是帮助我们简化开发.
- SpringMVC流程描述:
- 用户向服务器发送请求,由前端控制器DispatcherServlet捕获
- DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用处理器映射器(HandlerMapping)
- DispatcherServlet 根据获得的Handler生成处理器对象及处理器拦截器,并返回给DispatcherServlet
- DispatcherServlet通过处理器适配器(HandlerAdapter)调用处理器(Handler)
- 处理器(Controller)执行
- 完成后,返回一个ModelAndView对象
- HandlerAdapter将ModelAndView返回给DispatcherServlet
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器
- ViewReslover解析后返回具体对应的View
- DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
- DispatcherServlet将渲染好的视图响应给用户
通过构造器注入和setter方法注入的区别
通过setter方法注入:
<bean id=BEAN_ID class=CLASS_PATH> <property name=PROPERTY_NAME value=PROPERTY_VALUE> </bean>
通过构造器注入:
<bean id=BEAN_ID class=CLASS_PATH> <!-- 按照索引匹配注入--> <constructor-arg index=ARG_INDEX value=ARG_VALUE> <!-- 按类型匹配注入--> <constructor-arg type=ARG_TYPE value=ARG_VALUE> </bean>