zoukankan      html  css  js  c++  java
  • IDEA环境下SSM整合------注解开发

            根据前一篇文章的步骤,目前项目进度应该是:核心过滤器配置完成、DispatcherServlet和ContextLoader配置完成、数据库dataSource配置完成、视图解析器配置完成、Mapper sql和dao method对应没有问题、注解驱动、事务启动、default-Servlet-handler配置完成

    ------------这篇文章主要介绍,业务逻辑和数据流程-----------------

    核心流程:

    用户请求(url)—>配置中DispatcherServlet拦截请求----->通过内部配置HandlerMapping检查URL对应的Controller---->controller返回字符串或者Modealandview------>ViewResolver视图解析器解析物理视图地址------>控制权交DispatcherServlet------->返回对象数据给服务器---------->客户端

    ------------------------注解详解放最后了--------------------------------

    1.直接粘个Service的增删改

    image

    2.Controller

    image

    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的值来判断:

    •     application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
    •     multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
    •     其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

    B) PUT方式提交时, 根据request header Content-Type的值来判断:

    •     application/x-www-form-urlencoded, 必须;
    •     multipart/form-data, 不能处理;
    •     其他格式, 必须;

    @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发生的异常

  • 相关阅读:
    【转】ASP.NET MVC 使用 FluentScheduler 定时器计划任务
    【转】prototype扩展的JavaScript常用函数库
    【转】JavaScript系列文章:自动类型转换
    【转】Open Live Writer 插件更新
    highcharts与highstock实例
    SQL SERVER数据类型与C#数据类型对照表
    Highcharts在IE中不能一次性正常显示的一种解决办法
    MIME类型大全
    几种工具反编译被编译好的DLL文件
    MySQL之数据库的操作
  • 原文地址:https://www.cnblogs.com/jin-nuo/p/9645326.html
Copyright © 2011-2022 走看看