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

  • 相关阅读:
    python中的split、rsplit、splitlines
    docker 启动,端口映射,挂载本地目录
    pycharm18.2.4 + Python3.7.1 安装salt报错python pip install salt: Command "python setup.py egg_info" failed with error code 10 及解决方法
    Dockerfile 下安装Python3.7.4 环境命令
    linux项目部署学习(5)
    linux环境下安装selenium(python3)
    linux项目部署学习(4)
    linux项目部署学习(3) -nginx/发布crm
    linux项目部署学习(2)
    nginx语法之location详解
  • 原文地址:https://www.cnblogs.com/jin-nuo/p/9645326.html
Copyright © 2020-2023  润新知