springBoot @RequestBody 写在方法上与写在参数上的区别
发布时间:2025-05-19 18:25:56 发布人:远客网络
一、springBoot @RequestBody 写在方法上与写在参数上的区别
控制层组件,定义一个springMVC的控制器类,往往需要和@RequestMapping配合使用。
相当于@ResponseBody+@Controller合在一起的作用。
服务层组件,用于标注业务层组件,表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,也可以指定bean的名称:@Service(“beanName”)。
持久层组件,用于标注数据访问组件,即DAO组件。
把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>。
用于配置控制层的访问URL,可以用在控制器类上和控制器方法上,如果用在控制器类上,则访问类中的方法是要加上类上的路径,例如:
@RequestMapping("/personal/linkInfo")
public class LinkInfoController{
@RequestMapping(value="/addLinkInfo")
public String addLinkInfo(LinkInfoReq linkInfoReq){
linkInfoService.addLinkInfo(linkInfoReq);
return"redirect:/personal/linkInfo/toLinkInfo";
上述代码的访问路径就是XXX/personal/linkInfo/addLinkInfo。
a) value:设置访问的URL,数组,可以将多个请求映射到一个方法上去。支持通配符配置
@RequestMapping(value={"/page","/page*"})
上述代码访问路径可以是:XXX/page,XXX/pageadc等满足value条件的路径。
b) method:设置访问的方法,数组,可是设置多个访问方法映射到同一个方法上,默认为GET方法
@RequestMapping(value="/page", method= RequestMethod.POST)
上述代码/page路径就只能用POST方法才能请求。
method的可选值有GET,HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE。
c) params:指定request中必须包含某些参数值是,才让该方法处理。数组。
@RequestMapping(value="/page", params={"type=1"})
上述代码/page路径只有请求参数中包含type且值等于1时才能访问该方法。
d) headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。数组。
@RequestMapping(value="/page", headers={" content-type=text/plain"})
上述代码/page路径只有headers中content-type=text/plain才能访问该方法。
e) consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html。
f) produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。
通常使用在controller方法上,作用是将方法的返回值通过合适的HttpMessageConverter转换成特定格式写入到response的body区域,然后返回给客户端,如果没有使用@RequestBody注解,方法返回值将会封装到ModelAndView并解析返回视图。
接受的参数来自requestHeader,即请求头,用来接收GET和POST请求参数并将参数赋值到被@RequestParam注解的变量上,同样可以使用requet.getParameter(“name”)获取,默认的参数接受方式,如果controller方法的参数未使用@RequestParam,则默认也是使用@RequestParam接受参数。用来处理Content-Type:为 application/x-www-form-urlencoded编码的内容。
a) required:是否必须,默认true,必须。
b) defaultValue:默认值,请求的参数为空时使用默认值。
接受的参数来自requestBody,即请求体,一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。
它可以对类成员变量,方法及构造函数进行标注,完成自动装配工作,可以消除set,get方法。
@Resource是Java自己的注解,@Resource有两个属性重要属性,分是name和type;Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@Autowired是spring的注解,是spring2.5版本引入的,@Autowired只根据type进行注入,不会去匹配name。如果涉及到type无法辨别注入对象时,那需要依赖@Qualifier注解一起来修饰。
a)如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
b)如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
c)如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
d)如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
推荐使用@Resource,不用谢set方法,并且这个注解属于java自己的,减少了与spring的耦合度。
这种使用方式注入的是配置文件里的参数
这样配置文件中的com.title就能配置到LinkInfoController的title属性中
该方式表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。
这样就可以把User对象的name配置到LinkInfoController的name属性中。
用于配置spring事务管理。属性信息如下:
该注解其实是一个组合注解,源码如下图:
从源代码可以看到@SpringBootConfiguration继承自@Configuration,这两个注解的功能也是一样的。
此注释自动载入应用程序所需的所有Bean。
该注解会扫描指定路径下的的类,并将其加入到IoC容器中。在springboot中,@ComponentScan默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
该注解主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名。相当于配置文件里的<bean></bean>。
public class RedisConfig extends CachingConfigurerSupport{
public CacheManager cacheManager(RedisConnectionFactory connectionFactory){
RedisCacheManager redisCacheManager= RedisCacheManager.create(connectionFactory);
如上代码就相当于在xml文件里配置:
<bean id=" cacheManager" class=" com.mypage.config. RedisCacheManager"/>
指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类添加位置:是在Springboot启动类上面添加:
该注解是spring framework中的注解驱动的缓存管理功能。自spring版本3.1起加入了该注解。如果你使用了这个注解,那么你就不需要在XML文件中配置cache manager了。
public class RedisConfig extends CachingConfigurerSupport{
*采用RedisCacheManager作为缓存管理器
public CacheManager cacheManager(RedisConnectionFactory connectionFactory){
RedisCacheManager redisCacheManager= RedisCacheManager.create(connectionFactory);
用来设置springboot使用redis存储session,该注解会创建一个名字叫springSessionRepositoryFilter的Spring Bean,其实就是一个Filter,这个Filter负责用Spring Session来替换原先的默认HttpSession实现。
@EnableRedisHttpSession(maxInactiveIntervalInSeconds= 60*30)
public class HttpSessionConfig{
其中属性maxInactiveIntervalInSeconds是设置session的有效时间,单位毫秒,默认1800ms。
但其实这样还是不够的,还要在配置文件中设置redis存储session:
spring.session.store-type=redis
二、java将数据导出excel计算其文件大小
Copyright© 1999-2020, CSDN.NET, All Rights Reserved
大数据导出excel大小限制_java导出Excel大数据量,自己经验总结!原创
/***生成XLSX,2007版本的excel,每个sheet无6.5W的行数限制,但是到了一定数量,可能内存溢出,
*次方法适合在预计10W以下的数据导出时使用,本机测试,14W可以导出。列数量在8列左右
public static voidcreateXSLXByResultSet(OutputStream fileOut, WriteXLSBean... beans)throwsSQLException{try{//重点 Workbook
Workbook wb= newXSSFWorkbook();for(int i= 0, len= beans.length; i< len; i++){
WriteXLSBean xlsBean=beans[i];
Sheet sheet=wb.createSheet(xlsBean.getSheetName());
ResultSetMetaData rsmd=rs.getMetaData();
TypeHandlerRegistry tr=BeanContext.tr;
Map th=xlsBean.getTh();int index= 0;while(rs.next()){long t1=System.currentTimeMillis();
org.apache.poi.ss.usermodel.Row row=sheet
.createRow(index);for(int j= 0, numberOfColumns= rsmd.getColumnCount(); j< numberOfColumns; j++){
String key= rsmd.getColumnLabel(j+ 1).toLowerCase();if(th.containsKey(key)){
TypeHandler> type=tr.getTypeHandler(JdbcType
.forCode(rsmd.getColumnType(j+ 1)));
Object obj=type.getResult(rs, key);
row.createCell(j).setCellValue(obj== null?"": obj.toString());
+(System.currentTimeMillis()-t1));
e.printStackTrace();throw new ServiceRunTimeException("生产xls文档错误", e);
在上面标注了重点的两处,分别是:
2.将该对象写入一个OutPutStream
而在构建过程中,没有地方写入OutPutSteam,也就是说必须在内存中构建整个 Excel,才能进行写出操作,在大数据量情况下,这样将导致所有数据加载到内存中,而不能输出,导致最后内存溢出。
根据运行环境不用,可能内存溢出的情况不同
根据情况,如果数据量达到10W以上,建议使用
1、多个Excel,每个Excel一个Sheet,因为所有Sheet都是Workbook的组成部分。如果不分多个Excel,即使分Sheet也没用,
2、每个Excel中列数适中,比如: 5W行每个Excel档,实现分多次导出和分页查询原理一样
3、对多个Excel导出到一个临时目录,并通过程序压缩,然后提供给客户下载
2003版通过数据库结果存到List中,然后进行生产:Table就是List Row是Map
/***生产xls,2003版本的excel,每个sheet有6.5W的行数限制
public static void createXSLByMap(OutputStream fileOut, Map>>sheetMap){try{
HSSFWorkbook wb= newHSSFWorkbook();
Set keys=sheetMap.keySet();for(Iterator iterator=keys.iterator(); iterator
String SheetKey=iterator.next();
Sheet sheet=wb.createSheet(SheetKey);
List> sheetRows=sheetMap.get(SheetKey);for(int i= 0, len= sheetRows.size(); i< len; i++){
org.apache.poi.ss.usermodel.Row row=sheet.createRow(i);int j= 0;for(Iterator iterCell=cellSet.iterator(); iterCell
String cellKey=iterCell.next();
Object obj=cellMap.get(cellKey);
row.createCell(j).setCellValue(obj== null?"": obj.toString());
e.printStackTrace();throw new ServiceRunTimeException("生产xls文档错误", e);
新版本 POI+office 2007版本excel可以导出几十万条而不内存溢出,详细见:
导出大量数据到 excel的 xlsx文件
static String src="abcdefafslfelgtryjukjhgfdadertjDSFGHJKJGHFERTUIOabcdefafslfelgtryjukjhgfdadertjDSFGHJKdertjDSFGHJKJGHFERTUIOabcdefafslfelgtryjukjhgfdadertjDSFGHJKJGHFERTUIO";
public static void main(String[] args) throwsThrowable{
SXSSFWorkbook wb= new SXSSFWorkbook(100);//这里100是在内存中的数量,如果大于此数量时,会写到硬盘,以避免在内存导致内存溢出
for(int rownum= 0; rownum< 1000000; rownum++){
for(int cellnum= 0; cellnum< 10; cellnum++){
Cell cell=row.createCell(cellnum);
String address= newCellReference(cell).formatAsString();
cell.setCellValue(address+src.substring(rownum%10*10+1,(rownum%10+1)*10));
File file= new File("F:/aa.xlsx");
FileOutputStream out= newFileOutputStream(file);
根据以上前辈经验,自己在结果自身需求考虑,整合出一个工具。解决了excle表.xls格式行数65535行的限制。我实现的形式是导出一张表,里面有多页
这里是用反射来使用所有传入进行的实体的属性的值。这里只针对String和基本数据类型。如有自己定义的类型需要自己加上。
packagecom.tommy.fundation.util;importjava.lang.reflect.Field;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;public classRelectUtil{public static List reflectEntity(T model,Class> cals) throwsNoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, NoSuchFieldException{
Field[] field= model.getClass().getDeclaredFields();//获取实体类的所有属性,返回Field数组
String nam= field[j].getName();//获取属性的名字
name= name.substring(0,1).toUpperCase()+name.substring(1);
String type= field[j].getGenericType().toString();//获取属性的类型
if(type.equals("class java.lang.String")){//如果type是类类型,则前面包含"class",后面跟类名
Method m= model.getClass().getMethod("get"+name);
String value=(String) m.invoke(model);//调用getter方法获取属性值
}if(type.equals("class java.lang.Integer")){
Method m= model.getClass().getMethod("get"+name);
Integer value=(Integer) m.invoke(model);if(value!= null){
}if(type.equals("class java.lang.Short")){
Method m= model.getClass().getMethod("get"+name);
Short value=(Short) m.invoke(model);if(value!= null){
}if(type.equals("class java.lang.Double")){
Method m= model.getClass().getMethod("get"+name);
Double value=(Double) m.invoke(model);if(value!= null){
}if(type.equals("class java.lang.Boolean")){
Method m= model.getClass().getMethod("get"+name);
Boolean value=(Boolean) m.invoke(model);if(value!= null){
}if(type.equals("class java.util.Date")){
Method m= model.getClass().getMethod("get"+name);
Date value=(Date) m.invoke(model);if(value!= null){
packagecom.tommy.fundation.util;importjava.io.OutputStream;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjava.util.Set;importjavax.servlet.http.HttpServletResponse;importorg.apache.poi.hssf.record.formula.functions.T;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
@SuppressWarnings("hiding")public class ExportExcel{/***导出多张excel表,解决xls格式行数65535的限制
*@paramlist需要处理的list数据集合
*@throwsException*/@SuppressWarnings("deprecation")public void doExcel(HttpServletResponse response,List list,String fileName) throwsException{
OutputStream os= response.getOutputStream();//获取输出流
response.reset();//设置下载头部信息。Content-disposition为属性名。attachment表示以附件方式下载,如果要在页面中打开,则改为inline。filename为文件名
response.setHeader("Content-disposition","attachment; filename=excell.xls");
response.setContentType("application/msexcel");
Map> sheetMap=daData(list);
HSSFWorkbook wb= newHSSFWorkbook();
Set keys=sheetMap.keySet();for(Iterator iterator=keys.iterator(); iterator.hasNext();){
Integer SheetKey=iterator.next();
HSSFSheet sheet= wb.createSheet((fileName+SheetKey).toString());
List sheetRows=sheetMap.get(SheetKey);for(int i= 0, len= sheetRows.size(); i< len; i++){
List dataList= RelectUtil.reflectEntity(en, en.getClass());
HSSFRow row=sheet.createRow(i);
row.createCell(0).setCellValue(String.valueOf(i));for(int m=0; m
row.createCell(m+1).setCellValue(dataList.get(m).toString());
}/***此方法将数据集合按65000个进行分割成多个子集合
*@paramlist需要处理的list数据集合
public Map> daData(Listlist){int count= list.size()/65000;int yu= list.size()% 65000;
Map> map= new HashMap>();for(int i= 0; i<= count; i++){
List subList= new ArrayList();if(i==count){
subList= list.subList(i* 65000, 65000* i+yu);
subList= list.subList(i* 65000, 65000*(i+ 1)-1);
@RequestMapping(value="/doExcel", method=RequestMethod.GET)public void doExcel(HttpServletResponse response,HttpServletRequest request) throwsException{
List list=enrolltgService.findAll();new ExportExcel().doExcel(response, list,"黑白淡奶");
大功搞成,以后再也不会为了数据量太大而导不出来烦恼了!!!
需要的包 poi-3.2-FINAL-20081019.jar
相关资源:poi读取大文件Excel,使用xml格式解析,速度实测50mb文件13s,可指定...
POI多线程分表导出百万级大数据量EXCEL导出_Zhuo_chao的博客-CSDN博...
由上面可知 Excel 2003及以下是无法实现单sheet百万级的数据。 ApachePOI简介 Apache POI是用Java编写的免费开源的跨平台的 JavaAPI,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功...
Java使用POI导出数据到 excel,单 sheet和多 sheet__修铁路的的博客...
单sheet和多 sheet,用到的jar都是一样的,无非就是多创建一个 sheet的问题,以下是需要用到的jar包,在对应模块的pom.xml中引入即可<dependency><groupId>org.apache.poi</groupId>...
业务背景:列表导出,数据导出超过65533行解决方案: 1、超出65533行,直接系统提示:本系统支持导出的最大条数为65533行 2、导出模版改为.xlsx,POI导出时用XSSFWorkbook,把所有数据都拿到内存里,可以导出超过65533行,但是上线之后,发现会内存溢出 3、导出模版改为.xlsx,POI导出时用SXSSFWorkbook,每次往内存里放一定的数据,导完之后,刷新,再次...
Java的poi导出的excel不能超过256列的解决办法
Java的poi导出的excel不能超过256列的解决办法背景1、现在的情况2、解决办法背景 1、现在的情况 excel文件名以.xls结尾这个构造函数中默认采取这个类型 this.type= ExcelType.HSSF; public ExportParams(String title, String sheetName){ this.color= HSSFColorPredefined.WHITE.getIndex(); this.headerColor= HSSFC
使用ApachePOI导出excel(多个sheet页)_我是橘子京的博客
2、设置导出excel路径//导出的文件路径 String filePath="D:\\excel.xls"; 1 2 3、创建excel文件//创建Excel文件(Workbook) HSSFWorkbook workbook= new HSSFWorkbook(); 1 2 4、设置单元格样式//设置单元格样式 HSSFCel...
POI3.8导出大数据excel(50万左右)_咖啡加糖_的博客_poi支持最...
import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellReference; import org.apache.poi.xssf.streaming.SXSSFWorkbook;...
最新发布【JAVA问题解决方案】01.EasyExcel导出数据超过Excel单表上限解决方案
1.了解一下Excel单表最多存储多少行数据(可以存储1048576条数据,1024的平方,2的20次方)。本文是介绍EasyExcel导出数据超过Excel单表上限解决方案。2.知道最多多少行就能以这个数为条件,如果超过则进行分表。3.分表的同时需要对数据进行分割,才能不超过最大限度。实体类(非常简单,为了导出表更快)
java实现流输出形式导出数据(使用EasyExcel)并打包为zip包
java实现流输出形式文件下载并打包为zip包 pom.xml文件导入easyexcel<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.0.5</version></d...
...到excel文件(xls格式),附实验结果(单张sheet最多可有65536行)& Fi...
使用POI导出MySQL数据库数据到excel文件(xls格式)注意事项:单张sheet最多存储65536行!否则报错! Caused by: java.lang.IllegalArgumentException: Invalid row number(65536) outside allowable range(0..65535)!
使用Apache POI导出百万条EXCEL数据_橙乐果果的博客
工作中,有这么一个需求:每天凌晨00:05分定时从数据库导出大于三个月的订单流水信息,保存为excel文件。 Just do it. 1.引入POM依赖<!-- excel--><!-- ;...
Linux下读写文件操作#include<stdio.h> typedef struct Student{ int no; char name[10]; int score;}Student; int main(int args,char*argv[]){//打开文件 FILE*fp=fopen("test.txt","w"); if(fp=NULL){ perror("fopen");...
Java导出超大Excel文件,防止内存溢出
Java导出超大Excel文件,防止内存溢出1.采用Poi中的SXSSFWorkbook2.maven中引入Poi3.测试过程4.单元测试Java代码5.结论将业务数据导出到Excel表中,导出任务数据量较大时,导出的项目就会内存溢出,本文通过Java操作Poi的SXSSFWorkbook类进行导出,解决内存溢出问题。 1.采用Poi中的SXSSFWorkbook在实现excel导出时,在数据量过大的情况下,总是容易发生内存溢出的情况。可以使用POI提供的 SXSSFWorkbook类来避免内存溢
Apache Poi导出Excel多Sheet页详解!_奥鹏马的博客
apache poi是目前比较常用导出excel的方式。最近想要实现一个导出excel多sheet页的功能。网上查了一下大多都是针对某个具体对象的导出,不能实现任意对象的导出。现在将自己研究出的代码贴出来,供大家参考。//注意:此处实现的关键是将...
Apache poi导出多sheet的excel表格_朋态圈的博客
导出多sheet的excel*/public class ApachePoi{ public static void main(String[] args) throws IOException{// TODO Auto-generated method stub exportExcel();}@SuppressWarnings("resource") public static String exportExcel...
java导出excel限制大小_解决java poi导出excel2003不能超过65536行的问题
/***如果达到50000条数据则重新创建工作表的逻辑*/@Overridepublic void exportExcel(ListformList, ServletOutputStream outputStream){try{//工作表名后面的数字,如表1,表2int i= 0;//记录总行数int rownum= 0;//记录每个sheet的行数int tempnum= 0;//分页条...
热门推荐 java poi导出Excel超大数据量解决方案
poi导出excel,实现一个excel中多个sheet(可解决poi导出限制65536的问题...
本文章的excel实现导出多个sheet是在上一篇poi导出的基础上实现的,这么久了,对于上一篇文章的poi也作出过一些优化。这里我只贴修改了的方法的代码,其余的和上一篇文章的一样。/***导出excel.在一个页面中单独导出Excel...
基于Apache POI导出(百万级)大数据量Excel的实现_一朵风中摇曳的水仙...
支持单个 excel的 sheet导出100w的数据 ApachePOI操作Excel对象 1.HSSF:操作Excel 2007之前版本(.xls)格式,生成的EXCEL不经过压缩直接导出 2.XSSF:操作Excel 2007及之后版本(.xlsx)格式,内存占用高于HSSF...
解决POI的XSSFWorkbook导入大excel的内存消耗过大问题
方式1:使用SXSSFWorkbook,经过测试,这个情况无效,因为本质上SXSSFWorkbook也是通过XSSFWorkbook来的,他可以解决写出excel的场景,但是解决不了我们这种用户上传且读取excel中的内容的场景 XSSFWorkbook XSSFWorkbook= new XSSFWorkbook(fileInputStream); System.gc(); SXSSFWorkbook SXSSFWorkbook= new SXSS
原文地址:创建流程:(上级为下级的载体) 1:.创建工作簿 2.创建 sheet(可以创建多个) 3.创建行 4.创建单元格接下来分别说下工作簿的常用三种形式的区别,他们分别是 1.HSSFWorkbook 2.XSSFWorkbook 3.SXSSFWork...
1#region NPOI导出excel数据超65535自动分表 2///<summary> 3/// DataTable转换成Excel文档流,并输出到客户端 4///</summary> 5///<param name="table">...
java导出csv文件为解决导出excel时每个单元格的限制(32767)
此实现方法仅供参考因为本人导出数据量不大所采取的方法如数据量大,会到至内存溢出请知晓在这还提下:导出时内容自己换行只需在内容前尾各加双引号就行。如图 1、准备导出工具类// An highlighted block package com.test; import java.io.BufferedWriter; import java.io.File; import java.io...
Excel单元格数据超过32767报错问题处理
SXSSFWorkbook Excel大量数据导出
注意 SXSSFWorkbook用于大量数据的导出 SXSSFWorkbook是用来生成海量excel数据文件,主要原理是借助临时存储空间生成excel, SXSSFWorkbook专门处理大数据,对于大型excel的创建且不会内存溢出的,就只SXSSFWorkbook了。它的原理很简单,用硬盘空间换内存(就像hashmap用空间换时间一样)。 SXSSFWorkbook是streami...
将web页面上显示的报表导出到excel文件里是一种很常见的需求。然而,当数据量较大的情况下,excel本身的支持最多65535行数据的问题便凸显出来。下面就给出大数据量导出到excel的解决方案。首先,对于数据超过了65535行的问题,很自然的就会想到将整个数据分块,利用excel的多sheet页的功能,将超出65535行后的数据写入到下一个sheet页中,即通过多sheet页的方式,突破了...
几行代码,复杂Excel导入导出,真心强大!
点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达项目中使用:功能介绍IMPORT1、 ExcelHandle核心处理器;2、 ExcelWorkbookManageexcel所有工作表管理;3、 ExcelInitConfig配置文件初始化;4、 AbstractFileParser文件转换类;alanpoi import有何优势?1、用户不需要额外引入poi...
java POI导出excel,列数限制在256列
有两篇文章写得比较好的
apache poi导出excel最大多少个sheet
三、怎么使用restclient来发送post请求参数
1、我喜欢使用 restclient来测试我的 REST风格的应用程序。一般我就是用GET方法,今天用到了POST方法。POST传递参数应该放在body里面,对长度没有限制。不像GET对URL的限制是1024字节。
2、运行 restclient,点选Method选项卡的“POST”方法。然后选择Body选项卡,下下拉列表中选择”String body“的选项,配置上 application/x-www-form-urlencoded;charset=UTF-8。再出现的body里面写入字符串,也就是你的请求条件,如:query=xpsF
3、@RequestMapping(value="/test", method={ RequestMethod.GET,
4、 public void test(HttpServletResponse response,@RequestBody String message){
5、//注意这里的:@RequestBody String message
6、 LOGGER.debug(String.format("receive message%s", message));
7、 Map<String, String> map= Maps.newHashMap();
8、 Tools.printToJson(JSON.toJSONString(map), response);
9、 LOGGER.error(e.getMessage(), e);