Spring框架基本内容

首先从SpringMVC框架的基本流程剖析:

1、 用户发送请求至前端控制器DispatcherServlet(无需开发,框架提供。流程控制中心,控制其他组件执行,提高每个组件的扩展性,降低组件间耦合性。作用:接收请求,响应结果,相当于转发器,中央处理器。这里作为接收请求执行)。

2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器(无需开发,框架提供。根据请求的url查找handler,通过扩展处理器映射器实现不同的映射方式,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等)。

3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、 DispatcherServlet调用HandlerAdapter处理器适配器(通过扩展处理器适配器,去支持更多类型的适配器,作用:按照特定规则去执行Handler(也叫做controller)(由于Handler(controller)涉及到具体的用户业务请求,所以一般情况需要工程师根据业务需求开发Handler(controller)。Handler(controller) 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler(controller)对具体的用户请求进行处理。))。

5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器,作用:接收请求—>调用模型—>根据结果派发页面)。

6、 Controller执行完成返回ModelAndView(包含Model,dao,service,entity,view)。

7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet前端控制器。

8、 前端控制器DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9、 ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、 DispatcherServlet响应用户。

其中以下两项需要自行开发

Handler(又叫作controller):处理器,即后端控制器用controller表示。

View:视图,即展示给用户的界面,视图中通常需要前端通过标签语言展示模型数据。

想必到这里,还是有一点混乱的,简易梳理版:第一步: 用户发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(controller):通过xml配置或者注解进行查找

第三步:找到以后处理器映射器(HandlerMappering)向前端控制器返回执行链(HandlerExecutionChain)

第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(controller)

第五步:controller执行完给处理器适配器返回ModelAndView

第六步:处理器适配器向前端控制器返回ModelAndView

第七步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

第八步:视图解析器像前端控制器返回View

第九步:前端控制器对视图进行渲染

第十步:前端控制器向用户响应结果

更深刻理解springMVC中的所有组件:前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。

处理器映射器(HandlerMapping):根据URL去查找处理器

处理器(Handler):(需要程序员去写代码处理逻辑的)

处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)

视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面

SpringMVC框架下接口的开发流程

大白话版基本流程为:进行MyBatis的配置--》调整module文件中的内容--》通过mybatis生成的Mapper包调整--》修改dao文件内容--》在serviceImpl中添加业务逻辑--》在service中添加公共方法--》在控制器controller中增加类。完成这个流程即可调用相应接口内容

一、mybatis的配置

在项目中右键目录选择Generate MyBatis/iBatis Artifacts方式进行mapper.xml的创建。

1、在mybatis的配置文件中对中diver

class设置为"org.postgresql.Driver",数据库的类型选择要从resource下的jdbc.properties中进行选取,选取内容为当前开发环境的数据库类型。

url设置为jdbc:postgresql://192.0.0.1:3000/(数据库名称)

userId='';//选取数据库的用户名

password='';//选取数据库的密码

2、生成模型的包名与位置

3、生成映射文件的包名与位置

4、生成dao文件的包名与位置

二、model文件的修改

注意public class 函数名要与dao文件中的List中**的内容相一致

保证数据库内字段有多少,就要存在多少个private私有变量。

三、MAPPER.xml文件

通过生成的Mapper包,复制后导入main/resource中的mapper文件中

需要在resultMap方法外添加select方法,其中写入相应的类sql的支持mybatis表示方法的语句,目的是进行数据内容的获取。同时select中的id要与dao文件下的对应方法名相同

四、DAO文件

无重点内容,需要注意的是数据库内部数据的提取流程

1、jdbc中数据格式的修改

需要添加时:

jdbc_driveClassName=org.postgresql(数据库类型名).Driver

jdbc_url = jdbc\:postgresql\://localhost\:0000/postgres(库名)

jdbc_username = postgres;(用户名)

jdbc_password = postgres;(密码)

2、Spring-context-mybatis.xml

编写

再在动态数据源中加入

3、在main/java中找到util包

在MybatisJdbcutil.java文件中添加一种新的DBtype;至此数据就可以获取到了。

五、serviceIMP,service,controller等文件

参考前期springboot实现方式进行,参考兔先森:SpringBoot配置pg新数据源及接口开发手册zhuanlan.zhihu.com

java mvc具体含义 java中mvc模式开发流程_java中spring MVC模式

脱离mvc框架已经一年左右了,近期整理了一下基本思路和开发原理,理解与领悟都不可同日而语。记录完毕

Happy Hacking!!