1.Spring IOC核心(最重要最基础的,后续功能以IOC为基础)
Service–>DAO
new DAO().findBy()
==========掌握应用============
a.将Service和DAO交给Spring容器(配置)
b.由Spring将DAO对象给Service注入(配置)
–Service中添加setDAO方法(setter方式注入)
–Service中定义带DAO参数的构造方法(构造注入)
@Resouce
@Autowired
@Inject–>引入一个inject.jar
========如何理解IOC概念==========
控制反转:关系建立方法的改变或Bean对象获取方式的改变
IOC是一种思想,Spring是通过DI技术途径实现.
2.Spring Web MVC(以IOC为基础)
1)什么是MVC
MVC是根据组件职责不同将它们分成M,V,C三部分.
Model模型:负责业务处理
View视图:负责与用户交互
Controller控制器:协同模型和视图工作
Servlet–>JSP–>JavaBean
请求1–>JSP(在JSP编写大量逻辑)
请求2–>Servlet–>JSP(在Servlet编写大量逻辑)
请求3–>Servlet(只有一个)–>UserDAO.save();–>jsp
请求4–>Servlet(只有一个)–>UserDAO.find();–>jsp
2)MVC模式的好处
使得程序流程更加清晰,便于程序扩展和维护,非常适合大型
企业级项目的开发.
3)什么是Spring Web MVC
Spring Web MVC是基于MVC思想的一种实现.便于快速开发
MVC结构的程序.
*4)SpringMVC核心组件
Spring MVC提供了MVC结构的部分实现组件.
例如:DispatcherServlet,Controller,HandlerMapping
ViewResolver,ModelAndView等.
其中Controller自己编写,其他的直接使用(有些需要配置下)
DispatcherServlet:是一个Servlet组件,使用时需要
在web.xml配置.充当主控制器(1个)作用,
接收客户请求分发处理
Controller:程序员编写,是一个处理器,可以调用DAO
等业务组件完成请求处理.(一个请求一个Controller)
HandlerMapping:处理器映射,负责根据不同请求
映射到不同的Controller处理器处理.
被DispatcherServlet调用.
ViewResolver:视图解析器,可以调用View组件生成响应信息
ModelAndView:用于封装模型数据和视图名信息.在Controller处理完毕后返回一个ModelAndView对象
*5)Spring MVC处理流程
a.首先客户端发出springmvc请求,请求到达
DispatcherServlet主控制器处理
b.主控制器调用HandlerMapping组件,根据请求不同调用
Controller处理器
c.主控制器调用Controller方法处理请求,(对DB操作可以调用DAO组件),方法执行后返回一个ModelAndView对象结果
d.ModelAndView里包含了响应View和数据信息,
主控制器调用ViewResolver视图解析器根据ModelAndView的内容寻找View组件,生成响应
e.主控制器将响应内容给客户浏览器输出