0.需求 在实际的开发过程中,服务间调用一般使用Json传参的模式,SpringBoot项目无法使用@RequestParam接收Json传参 只有@RequestBody支持Json,但是每次为了一个接口就封装一次实体类比较麻烦 如果使用Map来进行参数接收,则会导致参数不可控,会在接口中新增较多判断进行入参控制 其次,在实际的开发过程中,我们偶尔会传入两个实体类,如果使用@RequestBody也会出错 因为传入的参数只能够读取一次,一般这里也会封装一次实体类,不够方便 也有重写HttpSe…
之前写过一篇记录文章,写的是将一个比较复杂的数据结构在前台组合起来后传递到后台. 当时并不太了解@RequestBody,也并没有使用js提供的JSON.stringify()方法 所有都是自己写的,比如js将json转为字符串的方法,后台接收json转成实体的方法. 最近接触到了@RequestBody,于是想将之前的代码改写一下. 首先@RequestBody需要接的参数是一个string化的json,这里直接使用JSON.stringify(json)这个方法来转化 其次@RequestB…
SPRINGBOOT自定义注解 在springboot中,有各种各样的注解,这些注解能够简化我们的配置,提高开发效率.一般来说,springboot提供的注解已经佷丰富了,但如果我们想针对某个特定情景来添加注解,就可以使用自定义注解. 自定义注解的步骤 实现这个自定义注解一般主要有以下几个步骤. maven导入相关的依赖 声明注解 注解的具体实现 使用注解的实例 在phyweb项目中的应用 之所以会想到这个自定义注解,是因为我们在给用户发送邮件这个模块中,用户如果提交了请求,提交按钮被禁用,这个…
SpringBoot自定义注解实现多数据源 前置学习 需要了解 注解.Aop.SpringBoot整合Mybatis的使用. 数据准备 基础项目代码:https://gitee.com/J_look/spring-boot-all-demo 数据库SQL 项目中有提供,修改基本信息即可 行动起来 添加依赖 利用 AOP 可以实现对某些代码的解耦,不需要硬编码编写. <dependency> <groupId>org.springframework.boot</groupId&…
工程目录结构: 首先,引入jar包,只需要以下两个即可 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version></version> </dependency> <dependency> <groupId>io.springfox</group…
MVC 接收参数数组(集合)   示例样本:   public class Person {      public string FirstName { get; set; }      public string LastName { get; set; }      ... }   // ASP.NET MVC  [HttpPost] public ActionResult Create(List<Person> persons) {      // doSomething. }    …
java注解 即是注释了,百度解释:也叫元数据.一种代码级别的说明. 个人理解:就是内容可以被代码理解的注释,一般是一个类. 元数据 也叫元注解,是放在被定义的一个注解类的前面 ,是对注解一种限制. 谈下这两个: @Retention 和 @Target @Retention :用来说明该注解类的生命周期.它有以下三个参数: RetentionPolicy.SOURCE  : 注解只保留在源文件中 RetentionPolicy.CLASS  : 注解保留在class文件中,在加载到JVM虚拟机…
创建SpringBoot项目 添加组织名 选择web 输入项目名称 创建后目录结构为 使用Spring的AOP先加入Maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 这里先创建一个自己定义的注解 加入自定义注解需要的注释 @Docu…
前言 在SpringBoot中使用自定义注解.aop切面打印web请求日志.主要是想把controller的每个request请求日志收集起来,调用接口.执行时间.返回值这几个重要的信息存储到数据库里,然后可以使用火焰图统计接口调用时长,平均响应时长,以便于我们对接口的调用和执行情况及时掌握. 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…
1.注解的概念 注解是一种能被添加到java代码中的元数据,类.方法.变量.参数和包都可以用注解来修饰.注解对于它所修饰的代码并没有直接的影响. 2.注解的使用范围 1)为编译器提供信息:注解能被编译器检测到错误或抑制警告. 2)编译时和部署时的处理: 软件工具能处理注解信息从而生成代码,XML文件等等. 3)运行时的处理:有些注解在运行时能被检测到. 3.自定义注解的步骤 第一步:定义注解 第二步:配置注解 第三步:解析注解 4.注解的基本语法 4.1最基本的注解定义 package com.…
从前台接收json封装的list数据,在后台接收时一直报错,com.alibaba.fastjson.JSONObject cannot be cast to xxx, 使用这种方式接收可以接收 @RequestMapping(value = "/insertUser", method = RequestMethod.POST) public ResultT insertUser(@RequestBody Map<String,List<User>> map){…
利用aop我们可以实现业务代码与系统级服务例如日志记录.事务及安全相关业务的解耦,使我们的业务代码更加干净整洁. 最近在做数据权限方面的东西,考虑使用切面对用户访问进行拦截,进而确认用户是否对当前数据有访问权限,而我们的项目是springboot项目,所以花时间研究了下springboot下切面的实现. 1.首先加入相关maven依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifa…
使用Request.Params["id"]来获取参数是一种比较有效的途径. request.params其实是一个集合,它依次包括request.querystring.request.form.request.cookies和request.servervariables. 如果要在两个页面传递数据的话,只能用request.querystring.request.form.request.cookies Request.Params 是在 QueryString.Form.Ser…
新增注解类 NotRepeatSubmit.java package com.example.demo.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 自定义注解,防止重复提交. */ @T…
原因分析 使用ajax从前台页面传输数据到后台controller控制器的时候,出现中文乱码 其实乱码问题出现的原因,就是由于默认的tomcat配置,接收请求是以ISO-8859-1来转码,导致中文出现了乱码问题,只要能正确的以utf-8来转码,则可以解决乱码问题. 普通数据传输,从jsp页面传到后台controller,中文乱码问题解决方案 首先检查jsp页面编码格式是否是utf-8 设置中文过滤 <filter> <filter-name>characterEncodingFi…
如果方法中的参数都是JSON类型,则在方法参数前面添加  @RequestBody 注解: public Boolean serverPath(@RequestBody ServerPathReq request) { } 如果方法中的参数包含 MultipartFile 类型的参数,MultipartFile 类型的参数前加 @RequestParam (value="MultipartFile参数的Key"), 其他类型的参数如果直接用参数接收,则参数名和请求中参数的key保持一致…
今天在使用swagger2测试的时候出错 1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等.一般情况下来说常用其来处理application/json类型. 2. 通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上. 例如说以下情况: $.ajax…
在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取. 1.获取提交的参数: @RequestMapping("testRequestParam") public String filesUpload(@RequestParam String inputStr, HttpServletRequest request) { System.out.pri…
问题: 用户名密码往后台提交的时候,发现接收到的参数变成了下图 解决办法: 去掉ajaxSubmit的data属性 如下图 解释:因为ajaxSubmit在封装的时候会自动的从被form包裹的表单控件中取值来传递参数 .html中form包裹了username和password两个input框,当我们在ajaxSubmit中不写data属性的时候是会自动作为参数传递过去的,一旦我们写了data属性,ajax就会把我们写的参数和原有表单中的参数一起拼接传递,原来表单有一个username和一个pa…
一.前言 我们在企业级的开发中,必不可少的是对日志的记录,实现有很多种方式,常见的就是基于AOP+注解进行保存,但是考虑到程序的流畅和效率,我们可以使用异步进行保存,小编最近在spring和springboot源码中看到有很多的监听处理贯穿前后:这就是著名的观察者模式!! 二.基础环境 项目这里小编就不带大家创建了,直接开始!! 1. 导入依赖 小编这里的springboot版本是:2.7.4 <dependency> <groupId>org.projectlombok</…
转自:http://www.cnblogs.com/daviddai/archive/2013/04/12/Highchart.html 官网:http://www.highcharts.com/ 中文网:http://www.hcharts.cn/ <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="Syste…
1.校正请求参数名: 2.以对象形式整体接收 3.路径变量:…
1:概述 SpringBoot的@PropertySource注解只支持加载 properties结尾的文件.当使用@ConfigurationProperties 注解配合@EnableConfigurationProperties注解将配置转换为JavaBean时,可能需要配合@PropertySource 注解加载指定的配置文件.所以为了支持以yml或者yaml文件,我自定义了注解@YamlPropertySource. 2:实现 声明注解@YamlPropertySource impor…
运行环境:ASP.NET 4.5.2. 当我们向GlobalConfiguration.Configuration.MessageHandlers添加一个DelegatingHandler派生类后,很容易发生即使命中了Action,但方法参数值为null的问题. 在大多数情况下,我们会在DelegatingHandler派生类里,重写async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, Cancellatio…
最近公司在开发移动APP,APP上通过jQuery提交表单的json字符串格式数据到Java后端,之前通过request手动接收,非常麻烦,其实Spring MVC已经为我们提供了一个注解@RequestBody来接收json字符串数据并自动映射到Bean上,使用起来很方便,代码如下: @RequestMapping(value = "save", method = {RequestMethod.POST }}) @ResponseBody public void saveUser(@…
这是我后台SpringMVC控制器接收isform参数的方法,只是简单的打出它的值: @RequestMapping(method = RequestMethod.POST) @ResponseBody public Map<String, Object> save( @RequestParam(value = "isform", required = false) String isform) { System.out.println("isform value…
这是我后台SpringMVC控制器接收isform参数的方法,只是简单的打出它的值: @RequestMapping(method = RequestMethod.POST) @ResponseBody public Map<String, Object> save( @RequestParam(value = "isform", required = false) String isform) { System.out.println("isform value…
        在以前使用SpringMvc框架时,在接受json数据时碰到了一些奇怪的问题.这里记录下来,方便以后查阅. 1. data 里写json对象 , 即该json数据没有被单(双)引号包住, 则传到后台其实也是key=value的形式          2.  data 里写json字符串 , 即该json数据被单(双)引号包住, 则传到后台才是json          3. SpringMvc接收json参数时的注意事项 (1) json必须是json字符串(2) 必须指定con…
二.springmvc 接收不同格式的json字符串 1.首先扫盲几个知识点: 这个绑定json参数讲的都是用@RequestBody标签,所以前台必须传json字符串,不能是json对象,但是如果不用@RequestBody标签,前台是可以发送json对象的,而springmvc不能简单将复杂json对象在后台作为一个对象绑定(前台要用表单的形式构造json复杂对象,后台才能正常绑定,不用@RequestBody标签就是傻瓜式绑定,只要变量名一样,就绑定,包括对象里的和方法中单独的变量参数),…
后台可能就会出现乱码,具体解决方案如下: 一. 配置tomcat目录下的service.xml文件 tomcat7/conf/server.xml 给该行代码加上 URIEncoding="UTF-8" 的编码属性 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEn…