根据前一篇文章的步骤,目前项目进度应该是:核心过滤器配置完成、DispatcherServlet和ContextLoader配置完成、数据库dataSource配置完成、视图解析器配置完成、Mapper sql和dao method对应没有问题、注解驱动、事务启动、default-Servlet-handler配置完成。 ------------这篇文章主要介绍,业务逻辑和数据流程----------------- 核心流程: 用户请求(url)—>配置中DispatcherServlet拦截请求----->通过内部配置HandlerMapping检查URL对应的Controller---->controller返回字符串或者Modealandview------>ViewResolver视图解析器解析物理视图地址------>控制权交DispatcherServlet------->返回对象数据给服务器---------->客户端 ------------------------注解详解放最后了-------------------------------- 1.直接粘个Service的增删改
2.Controller
3.别的好像没啥介绍了,基本步骤就这些,数据流程在上面,注解介绍在下面。 基本注解介绍 @Controller 负责注册一个控制器,Singleton,线程共享 @Service 标注在Service类 @Repository 标注在Dao类 @Component 当不清楚类的具体功能,只是想把这个组件加到spring容器 中,用此注解 @AutoWired 自动装配注解 @RequestMapping(value=”/url” , method = RequestMethod.POST) 注解为控制器指定URL 请求,可以标注方法也可以标注在控制类上, 请求格式:/类路径/方法路径 或 /方法路径 @RequestBody 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上 ,再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上 A) GET、POST方式提时, 根据request header Content-Type的值来判断:
B) PUT方式提交时, 根据request header Content-Type的值来判断:
@ResponseBody 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区 返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用; @SessionAttributes(value={“user”},type={String.class}) value:通过名称存放在session type:会将某一类型的对象传入 由于该注解会自动装配,所以使用inlivate()清空 使用SessionStatus.SetComplete();方法清空session 该注解用来绑定HttpSession中的attribute对象的值,便于在方法中的参数里使用。只能标注在类上,不能标注方法; @ModelAttribute 在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了@ModelAttribute 的方法 在方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取隐含的模型数据中获取对象,再将请求参数 –绑定到对象中,再传入入参将方法入参对象添加到模型中 @RequestParam 在处理方法入参处使用 @RequestParam 可以把请求参 数传递给请求方法 (@PathVariable(“id”) Int id) 绑定 URL 占位符到入参(“/url/{id}”) @ExceptionHandler 注解到方法上,出现异常时会执行该方法 @ControllerAdvice 使一个Contoller成为全局的异常处理类,类中用@ExceptionHandler方法注解的方法可以处理所有Controller发生的异常