首页 文章 精选 留言 我的

精选列表

搜索[SpringBoot],共4203篇文章
优秀的个人博客,低调大师

SpringBoot导入导出Excel

简单、快速的导入导出Excel 一、安装依赖 推荐使用最新版本,可通过文章末尾官方文档链接跳转查看 <dependency> <groupId>cn.gjing</groupId> <artifactId>tools-excel</artifactId> <version>2.2.9</version> </dependency> 二、Excel导出 1、单表头 定义Excel映射实体, @Data是lombok的注解 /** * @author Gjing **/ @Data @Excel("单级表头") public class SingleHead { @ExcelField("姓名") private String userName; @ExcelField(value = "年龄", format = "0") private Integer userAge; @ExcelField("性别") private Gender gender; @ExcelField("爱好") private String favorite; } /** * @author Gjing **/ @RestController public class UserController { @GetMapping("/test_export") @ApiOperation("导出一级表头") public void testExport(HttpServletResponse response) { //指定映射的实体为刚刚定义的 ExcelFactory.createWriter(SingleHead.class, response) .write(null) .flush(); } } 2、多级表头 数组中的每个值代表着一级表头 /** * @author Gjing **/ @Data @Excel("多级表头") public class MultiHead { @ExcelField({"用户名","用户名"}) private String userName; @ExcelField({"年龄","年龄"}) private Integer age; @ExcelField({"形态","身高"}) private BigDecimal height; @ExcelField({"形态","体重"}) private BigDecimal weight; } /** * @author Gjing **/ @RestController public class TestController { @GetMapping("/test_export") @ApiOperation("多级表头") public void testExport(HttpServletResponse response) { ExcelFactory.createWriter(MultiHead.class, response) //需要在write前激活多级表头,否则不会自动合并 .multiHead(true) .write(null) .flush(); } } 3、带大标题 大标题的起始行是你要插入的sheet中最后一条数据的下一行,如果sheet中没有数据,就是第一行。你可以配置大标题占用的行数和起始单元格下标(默认第一个单元格)和结束单元格下标(默认跟随表头的数量) /** * @author Gjing **/ @RestController public class TestController { @GetMapping("/test") @ApiOperation("含大标题") public void testExport(HttpServletResponse response) { ExcelFactory.createWriter(SingleHead.class, response) //大标题占用两行 .writeTitle(new BigTitle("我是大标题")) .write(null) .flush(); } } 4、下拉框 单元格增加下拉框 注解方式 /** * @author Gjing **/ @Data @Excel("下拉框导出") public class SingleHead { @ExcelField("性别") @ExcelDropdownBox(combobox = {"男", "女"}) private Gender gender; @ExcelField("爱好") private String favorite; } /** * @author Gjing **/ @RestController public class TestController { @GetMapping("/test_export") @ApiOperation("带下拉框") public void testExport(HttpServletResponse response) { ExcelFactory.createWriter(SingleHead.class, response) //需要在write前激活校验 .valid(true) .write(null) .flush(); } } 通过方法设置普通下拉框的选项 /** * @author Gjing **/ @RestController public class TestController { @GetMapping("/test_export") @ApiOperation("带下拉框") public void testExport(HttpServletResponse response) { Map<String, String[]> genderMap = new HashMap<>(8); //key为实体类的字段名,使用方法进行设置时,实体字段的@ExcelDropdownBox注解不在需要指定combobox //如果指定了也会去覆盖注解中的值 genderMap.put("gender", new String[]{"男", "女"}); ExcelFactory.createWriter(SingleHead.class, response) .valid(true) .write(null, genderMap) .flush(); } } 5、时间校验 导出时给列表头下方的单元格增加时间校验 /** * @author Gjing **/ @Data @Excel public class SingleHead { @ExcelField("姓名") private String userName; @ExcelField(value = "年龄", format = "0") private Integer userAge; @ExcelField(value = "生日", format = "yyyy-MM-dd") @ExcelDateValid(expr1 = "2000-01-01", operatorType = LESS_OR_EQUAL, errorContent = "出生日期不能超过2000年") private Date birthday; } /** * @author Gjing **/ @RestController public class TestController { @GetMapping("/test_export") @ApiOperation("带时间校验") public void testExport(HttpServletResponse response) { ExcelFactory.createWriter(SingleHead.class, response) //需要在write前激活校验 .valid(true) .write(null) .flush(); } } 6、数字、文本校验 导出时给列表头下方的单元格增加数值校验。可以对数字的大小,文本的长度进行校验 /** * @author Gjing **/ @Data @Excel public class SingleHead { @ExcelField("姓名") //对输入的名称字数进行校验,字数限制小于4 @ExcelNumericValid(validType = TEXT_LENGTH,operatorType = LESS_THAN,expr1 = "4",errorContent = "姓名字数小于4") private String userName; } /** * @author Gjing **/ @RestController public class TestController { @GetMapping("/test_export") @ApiOperation("带数值校验") public void testExport(HttpServletResponse response) { ExcelFactory.createWriter(SingleHead .class, response) //需要在write前激活校验 .valid(true) .write(null) .flush(); } } 7、数据转换 导出时对数据进行加工或者添加默认值,支持注解方式和接口方式 注解方式 /** * @author Gjing **/ @Data @Excel public class SingleHead { @ExcelField("姓名") private String userName; @ExcelField(value = "年龄", format = "0") //对每个人的年龄乘以10 @ExcelDataConvert(expr1 = "#userAge * 10") private Integer userAge; } 接口方式 /** * @author Gjing **/ public class MyDataConvert implements DataConvert<SingleHead> { @Override public Object toEntityAttribute(Object o, Field field) { return null; } @Override public Object toExcelAttribute(SingleHead singleHead, Object value, Field field) { return (int) value * 10; } } 实现接口后需要在你需要转换的字段上指定转换器 /** * @author Gjing **/ @Data @Excel public class SingleHead { @ExcelField("姓名") private String userName; @ExcelField(value = "年龄", format = "0", convert = MyDataConvert.class) private Integer userAge; } 导出方法调用最后一定要使用flush()方法进行数据刷新到Excel文件中 三、导入 导入的实体类皆采用导出的实体类 1、单表头 /** * @author Gjing **/ @RestController public class TestController { @Resource private UserService userService; @PostMapping("/user_import") @ApiOperation("导入单表头") public void userImport(MultipartFile file) throws IOException { ExcelFactory.createReader(file, SingleHead.class) //在read()方法前通过订阅方法增加一个结果监听器,该监听器会在每一次read()结束之后触发 .subscribe(e -> this.userService.saveUsers(e)) .read() .finish(); } } 2、多级表头 前文有提到多级表头时,最后一级为实际表头,所以要在导入时指定实际表头开始下标,由于导出的模板映射实体设置两级表头,因此这里的实际表头为下标为1(Excel行和列下标都是默认0开始的) /** * @author Gjing **/ @RestController public class TestController { @Resource private UserService userService; @PostMapping("/user_import") @ApiOperation("导入单表头") public void userImport(MultipartFile file) throws IOException { ExcelFactory.createReader(file, SingleHead.class) //在read()方法前通过订阅方法增加一个结果监听器,该监听器会在每一次read()结束之后触发 //如果Excel中数据量太大,不建议使用结果监听器,会造成生成了过多的映射实体对象造成内存溢出 .subscribe(e -> this.userService.saveUsers(e)) .read(1) .finish(); } } 在导入调用结束后,一定要在最后调用finish()方法对流进行关闭 四、注解驱动方式的导入导出 如果要使用注解驱动方式,需要在启动类或者配置类标注@EnableExcelDrivenMode注解 1、导出 导出的方法需增加@ExcelWrite注解 a、导出模板 /** * @author Gjing **/ @RestController public class ExcelDriveController { @GetMapping("/export") @ApiOperation("下载Excel模板") @ExcelWrite(mapping = SingleHead.class) public void export() { } } b、导出带标题的模板 导出带大标题的模板,你可以直接设置方法的返回值为bigTitle,也可以使用ExcelWriteWrapper包装器进行数据构造 直接返回方式 @RestController public class ExcelDriveController { @GetMapping("/export") @ApiOperation("导出带大标题的excel") @ExcelWrite(mapping = SingleHead.class) public BigTitle export() { return new BigTitle("啦啦啦"); } } 包装器方式 @RestController public class ExcelDriveController { @GetMapping("/export") @ApiOperation("导出带大标题的excel") @ExcelWrite(mapping = SingleHead.class) public ExcelWriteWrapper excelDrive() { return ExcelWriteWrapper.build() .title(new BigTitle("啦啦啦")); } } c、导出数据 导出带数据的Excel,你可以直接设置方法的返回值为数据List,也可以使用ExcelWriteWrapper包装器进行数据构造,包装器可以用于设置一些属性,如监听器、大标题、导出的数据等等。。 直接返回方式 /** * @author Gjing **/ @RestController public class ExcelDriveController { @Resource private UserService userService; @GetMapping("/export") @ApiOperation("导出带数据的excel") @ExcelWrite(mapping = SingleHead.class) public List<SingleHead> excelDrive() { return this.userService.userList(); } } 包装器方式 @RestController public class ExcelDriveController { @Resource private UserService userService; @GetMapping("/excel_drive") @ApiOperation("导出带数据的excel") @ExcelWrite(mapping = SingleHead.class) public ExcelWriteWrapper export() { return ExcelWriteWrapper.build(userService.userList()); } } 2、导入 导出的方法需要增加@ExcelRead注解 a、导入普通的模板 导入时,需要将方法返回值设置为ExcelReadWrapper,这是导入时的数据包装器,用于设置一些属性,如文件流、监听器、结果订阅... @RestController public class ExcelDriveController { @Resource private UserService userService; @PostMapping("/excel_drive5") @ApiOperation("导入excel") @ExcelRead public ExcelReadWrapper<SingleHead> read1(MultipartFile file) throws IOException { return ExcelReadWrapper.build(SingleHead.class) .data(file) .subscribe(e -> this.userService.saveUsers(e)); } } b、导入带大标题的模板 由上文可得知,如果模板带有大标题,需要我们指定表头开始下标,下标要根据你的模板标题有多少行而定,我们在导出时设置了两行,所以这里配置两行 @RestController public class ExcelDriveController { @Resource private UserService userService; @PostMapping("/excel_drive5") @ApiOperation("导入excel") @ExcelRead(headerIndex = 2) public ExcelReadWrapper<SingleHead> read1(MultipartFile file) throws IOException { return ExcelReadWrapper.build(SingleHead.class) .data(file) .subscribe(e -> this.userService.saveUsers(e)); } } Demo地址:excel-demo 注解参数说明与更多用法可查看:官方文档

优秀的个人博客,低调大师

SpringBoot ~ 拦截器

拦截器 创建拦截器 /** * @author wsyjlly * @create 2019.06.13 - 16:52 **/ public class FileUploadInterceptor implements HandlerInterceptor { private Logger logger = LoggerFactory.getLogger(getClass()); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { logger.debug("FileUploadInterceptor...preHandle"); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { logger.debug("FileUploadInterceptor...postHandle"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { logger.debug("FileUploadInterceptor...afterCompletion"); } } 注册拦截器 注册方式一:一般注册方式 /** * @author wsyjlly * @create 2019.06.12 - 16:17 **/ @Configuration public class WebMvcConfig implements WebMvcConfigurer { /* * 配置拦截器 * */ @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new FileUploadInterceptor()). addPathPatterns("/upload").order(1); } } 注册方式二:当拦截器中需要注入变量时须提前加载该拦截器 /** * @author wsyjlly * @create 2019.06.12 - 16:17 **/ @Configuration public class WebMvcConfig implements WebMvcConfigurer { /* * 配置拦截器 * */ @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getFileUploadInterceptor()). addPathPatterns("/upload").order(1); } @Bean public FileUploadInterceptor getFileUploadInterceptor(){ return new FileUploadInterceptor(); } }

优秀的个人博客,低调大师

SpringBoot配置属性一

mvc spring.mvc.async.request-timeout 设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是10秒. spring.mvc.date-format 设定日期的格式,比如dd/MM/yyyy. spring.mvc.favicon.enabled 是否支持favicon.ico,默认为: true spring.mvc.ignore-default-model-on-redirect 在重定向时是否忽略默认model的内容,默认为true spring.mvc.locale 指定使用的Locale. spring.mvc.message-codes-resolver-format 指定message codes的格式化策略(PREFIX_ERROR_CODE,POSTFIX_ERROR_CODE). spring.mvc.view.prefix 指定mvc视图的前缀. spring.mvc.view.suffix 指定mvc视图的后缀. messages spring.messages.basename 指定message的basename,多个以逗号分隔,如果不加包名的话,默认从classpath路径开始,默认: messages spring.messages.cache-seconds 设定加载的资源文件缓存失效时间,-1的话为永不过期,默认为-1 spring.messages.encoding 设定Message bundles的编码,默认: UTF-8 mobile spring.mobile.devicedelegatingviewresolver.enable-fallback 是否支持fallback的解决方案,默认false spring.mobile.devicedelegatingviewresolver.enabled 是否开始device view resolver,默认为: false spring.mobile.devicedelegatingviewresolver.mobile-prefix 设定mobile端视图的前缀,默认为:mobile/ spring.mobile.devicedelegatingviewresolver.mobile-suffix 设定mobile视图的后缀 spring.mobile.devicedelegatingviewresolver.normal-prefix 设定普通设备的视图前缀 spring.mobile.devicedelegatingviewresolver.normal-suffix 设定普通设备视图的后缀 spring.mobile.devicedelegatingviewresolver.tablet-prefix 设定平板设备视图前缀,默认:tablet/ spring.mobile.devicedelegatingviewresolver.tablet-suffix 设定平板设备视图后缀. spring.mobile.sitepreference.enabled 是否启用SitePreferenceHandler,默认为: true view spring.view.prefix 设定mvc视图的前缀. spring.view.suffix 设定mvc视图的后缀. resource spring.resources.add-mappings 是否开启默认的资源处理,默认为true spring.resources.cache-period 设定资源的缓存时效,以秒为单位. spring.resources.chain.cache 是否开启缓存,默认为: true spring.resources.chain.enabled 是否开启资源 handling chain,默认为false spring.resources.chain.html-application-cache 是否开启h5应用的cache manifest重写,默认为: false spring.resources.chain.strategy.content.enabled 是否开启内容版本策略,默认为false spring.resources.chain.strategy.content.paths 指定要应用的版本的路径,多个以逗号分隔,默认为:[/**] spring.resources.chain.strategy.fixed.enabled 是否开启固定的版本策略,默认为false spring.resources.chain.strategy.fixed.paths 指定要应用版本策略的路径,多个以逗号分隔 spring.resources.chain.strategy.fixed.version 指定版本策略使用的版本号 spring.resources.static-locations 指定静态资源路径,默认为classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/ multipart multipart.enabled 是否开启文件上传支持,默认为true multipart.file-size-threshold 设定文件写入磁盘的阈值,单位为MB或KB,默认为0 multipart.location 指定文件上传路径. multipart.max-file-size 指定文件大小最大值,默认1MB multipart.max-request-size 指定每次请求的最大值,默认为10MB freemarker spring.freemarker.allow-request-override 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项 spring.freemarker.allow-session-override 指定HttpSession的属性是否可以覆盖controller的model的同名项 spring.freemarker.cache 是否开启template caching. spring.freemarker.charset 设定Template的编码. spring.freemarker.check-template-location 是否检查templates路径是否存在. spring.freemarker.content-type 设定Content-Type. spring.freemarker.enabled 是否允许mvc使用freemarker. spring.freemarker.expose-request-attributes 设定所有request的属性在merge到模板的时候,是否要都添加到model中. spring.freemarker.expose-session-attributes 设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中. spring.freemarker.expose-spring-macro-helpers 设定是否以springMacroRequestContext的形式暴露RequestContext给Spring’s macro library使用 spring.freemarker.prefer-file-system-access 是否优先从文件系统加载template,以支持热加载,默认为true spring.freemarker.prefix 设定freemarker模板的前缀. spring.freemarker.request-context-attribute 指定RequestContext属性的名. spring.freemarker.settings 设定FreeMarker keys. spring.freemarker.suffix 设定模板的后缀. spring.freemarker.template-loader-path 设定模板的加载路径,多个以逗号分隔,默认: ["classpath:/templates/"] spring.freemarker.view-names 指定使用模板的视图列表. velocity spring.velocity.allow-request-override 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项 spring.velocity.allow-session-override 指定HttpSession的属性是否可以覆盖controller的model的同名项 spring.velocity.cache 是否开启模板缓存 spring.velocity.charset 设定模板编码 spring.velocity.check-template-location 是否检查模板路径是否存在. spring.velocity.content-type 设定ContentType的值 spring.velocity.date-tool-attribute 设定暴露给velocity上下文使用的DateTool的名 spring.velocity.enabled 设定是否允许mvc使用velocity spring.velocity.expose-request-attributes 是否在merge模板的时候,将request属性都添加到model中 spring.velocity.expose-session-attributes 是否在merge模板的时候,将HttpSession属性都添加到model中 spring.velocity.expose-spring-macro-helpers 设定是否以springMacroRequestContext的名来暴露RequestContext给Spring’s macro类库使用 spring.velocity.number-tool-attribute 设定暴露给velocity上下文的NumberTool的名 spring.velocity.prefer-file-system-access 是否优先从文件系统加载模板以支持热加载,默认为true spring.velocity.prefix 设定velocity模板的前缀. spring.velocity.properties 设置velocity的额外属性. spring.velocity.request-context-attribute 设定RequestContext attribute的名. spring.velocity.resource-loader-path 设定模板路径,默认为: classpath:/templates/ spring.velocity.suffix 设定velocity模板的后缀. spring.velocity.toolbox-config-location 设定Velocity Toolbox配置文件的路径,比如 /WEB-INF/toolbox.xml. spring.velocity.view-names 设定需要解析的视图名称. thymeleaf spring.thymeleaf.cache 是否开启模板缓存,默认true spring.thymeleaf.check-template-location 是否检查模板路径是否存在,默认true spring.thymeleaf.content-type 指定Content-Type,默认为: text/html spring.thymeleaf.enabled 是否允许MVC使用Thymeleaf,默认为: true spring.thymeleaf.encoding 指定模板的编码,默认为: UTF-8 spring.thymeleaf.excluded-view-names 指定不使用模板的视图名称,多个以逗号分隔. spring.thymeleaf.mode 指定模板的模式,具体查看StandardTemplateModeHandlers,默认为: HTML5 spring.thymeleaf.prefix 指定模板的前缀,默认为:classpath:/templates/ spring.thymeleaf.suffix 指定模板的后缀,默认为:.html spring.thymeleaf.template-resolver-order 指定模板的解析顺序,默认为第一个. spring.thymeleaf.view-names 指定使用模板的视图名,多个以逗号分隔. mustcache spring.mustache.cache 是否Enable template caching. spring.mustache.charset 指定Template的编码. spring.mustache.check-template-location 是否检查默认的路径是否存在. spring.mustache.content-type 指定Content-Type. spring.mustache.enabled 是否开启mustcache的模板支持. spring.mustache.prefix 指定模板的前缀,默认: classpath:/templates/ spring.mustache.suffix 指定模板的后缀,默认: .html spring.mustache.view-names 指定要使用模板的视图名. groovy模板 spring.groovy.template.allow-request-override 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项 spring.groovy.template.allow-session-override 指定HttpSession的属性是否可以覆盖controller的model的同名项 spring.groovy.template.cache 是否开启模板缓存. spring.groovy.template.charset 指定Template编码. spring.groovy.template.check-template-location 是否检查模板的路径是否存在. spring.groovy.template.configuration.auto-escape 是否在渲染模板时自动排查model的变量,默认为: false spring.groovy.template.configuration.auto-indent 是否在渲染模板时自动缩进,默认为false spring.groovy.template.configuration.auto-indent-string 如果自动缩进启用的话,是使用SPACES还是TAB,默认为: SPACES spring.groovy.template.configuration.auto-new-line 渲染模板时是否要输出换行,默认为false spring.groovy.template.configuration.base-template-class 指定template base class. spring.groovy.template.configuration.cache-templates 是否要缓存模板,默认为true spring.groovy.template.configuration.declaration-encoding 在写入declaration header时使用的编码 spring.groovy.template.configuration.expand-empty-elements 是使用<br/>这种形式,还是<br></br>这种展开模式,默认为: false) spring.groovy.template.configuration.locale 指定template locale. spring.groovy.template.configuration.new-line-string 当启用自动换行时,换行的输出,默认为系统的line.separator属性的值 spring.groovy.template.configuration.resource-loader-path 指定groovy的模板路径,默认为classpath:/templates/ spring.groovy.template.configuration.use-double-quotes 指定属性要使用双引号还是单引号,默认为false spring.groovy.template.content-type 指定Content-Type. spring.groovy.template.enabled 是否开启groovy模板的支持. spring.groovy.template.expose-request-attributes 设定所有request的属性在merge到模板的时候,是否要都添加到model中. spring.groovy.template.expose-session-attributes 设定所有request的属性在merge到模板的时候,是否要都添加到model中. spring.groovy.template.expose-spring-macro-helpers 设定是否以springMacroRequestContext的形式暴露RequestContext给Spring’s macro library使用 spring.groovy.template.prefix 指定模板的前缀. spring.groovy.template.request-context-attribute 指定RequestContext属性的名. spring.groovy.template.resource-loader-path 指定模板的路径,默认为: classpath:/templates/ spring.groovy.template.suffix 指定模板的后缀 spring.groovy.template.view-names 指定要使用模板的视图名称. http spring.hateoas.apply-to-primary-object-mapper 设定是否对object mapper也支持HATEOAS,默认为: true spring.http.converters.preferred-json-mapper 是否优先使用JSON mapper来转换. spring.http.encoding.charset 指定http请求和相应的Charset,默认: UTF-8 spring.http.encoding.enabled 是否开启http的编码支持,默认为true spring.http.encoding.force 是否强制对http请求和响应进行编码,默认为true json spring.jackson.date-format 指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的格式化类的全限定名 spring.jackson.deserialization 是否开启Jackson的反序列化 spring.jackson.generator 是否开启json的generators. spring.jackson.joda-date-time-format 指定Joda date/time的格式,比如yyyy-MM-dd HH:mm:ss). 如果没有配置的话,dateformat会作为backup spring.jackson.locale 指定json使用的Locale. spring.jackson.mapper 是否开启Jackson通用的特性. spring.jackson.parser 是否开启jackson的parser特性. spring.jackson.property-naming-strategy 指定PropertyNamingStrategy (CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)或者指定PropertyNamingStrategy子类的全限定类名. spring.jackson.serialization 是否开启jackson的序列化. spring.jackson.serialization-inclusion 指定序列化时属性的inclusion方式,具体查看JsonInclude.Include枚举. spring.jackson.time-zone 指定日期格式化时区,比如America/Los_Angeles或者GMT+10. jersey spring.jersey.filter.order 指定Jersey filter的order,默认为: 0 spring.jersey.init 指定传递给Jersey的初始化参数. spring.jersey.type 指定Jersey的集成类型,可以是servlet或者filter.

优秀的个人博客,低调大师

SpringBoot配置属性二

server配置 server.address 指定server绑定的地址 server.compression.enabled 是否开启压缩,默认为false. server.compression.excluded-user-agents 指定不压缩的user-agent,多个以逗号分隔,默认值为:text/html,text/xml,text/plain,text/css server.compression.mime-types 指定要压缩的MIME type,多个以逗号分隔. server.compression.min-response-size 执行压缩的阈值,默认为2048 server.context-parameters.[param name] 设置servlet context 参数 server.context-path 设定应用的context-path. server.display-name 设定应用的展示名称,默认: application server.jsp-servlet.class-name 设定编译JSP用的servlet,默认: org.apache.jasper .servlet.JspServlet) server.jsp-servlet.init-parameters.[param name] 设置JSP servlet 初始化参数. server.jsp-servlet.registered 设定JSP servlet是否注册到内嵌的servlet容器,默认true server.port 设定http监听端口 server.servlet-path 设定dispatcher servlet的监听路径,默认为: / cookie、session配置 server.session.cookie.comment 指定session cookie的comment server.session.cookie.domain 指定session cookie的domain server.session.cookie.http-only 是否开启HttpOnly. server.session.cookie.max-age 设定session cookie的最大age. server.session.cookie.name 设定Session cookie 的名称. server.session.cookie.path 设定session cookie的路径. server.session.cookie.secure 设定session cookie的“Secure” flag. server.session.persistent 重启时是否持久化session,默认false server.session.timeout session的超时时间 server.session.tracking-modes 设定Session的追踪模式(cookie, url, ssl). ssl配置 server.ssl.ciphers 是否支持SSL ciphers. server.ssl.client-auth 设定client authentication是wanted 还是 needed. server.ssl.enabled 是否开启ssl,默认: true server.ssl.key-alias 设定key store中key的别名. server.ssl.key-password 访问key store中key的密码. server.ssl.key-store 设定持有SSL certificate的key store的路径,通常是一个.jks文件. server.ssl.key-store-password 设定访问key store的密码. server.ssl.key-store-provider 设定key store的提供者. server.ssl.key-store-type 设定key store的类型. server.ssl.protocol 使用的SSL协议,默认: TLS server.ssl.trust-store 持有SSL certificates的Trust store. server.ssl.trust-store-password 访问trust store的密码. server.ssl.trust-store-provider 设定trust store的提供者. server.ssl.trust-store-type 指定trust store的类型. tomcat server.tomcat.access-log-enabled 是否开启access log ,默认: false) server.tomcat.access-log-pattern 设定access logs的格式,默认: common server.tomcat.accesslog.directory 设定log的目录,默认: logs server.tomcat.accesslog.enabled 是否开启access log,默认: false server.tomcat.accesslog.pattern 设定access logs的格式,默认: common server.tomcat.accesslog.prefix 设定Log 文件的前缀,默认: access_log server.tomcat.accesslog.suffix 设定Log 文件的后缀,默认: .log server.tomcat.background-processor-delay 后台线程方法的Delay大小: 30 server.tomcat.basedir 设定Tomcat的base 目录,如果没有指定则使用临时目录. server.tomcat.internal-proxies 设定信任的正则表达式,默认:“10\.\d{1,3}\.\d{1,3}\.\d{1,3}| 192\.168\.\d{1,3}\.\d{1,3}| 169\.254\.\d{1,3}\.\d{1,3}| 127\.\d{1,3}\.\d{1,3}\.\d{1,3}| 172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}| 172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}” server.tomcat.max-http-header-size 设定http header的最小值,默认: 0 server.tomcat.max-threads 设定tomcat的最大工作线程数,默认为: 0 server.tomcat.port-header 设定http header使用的,用来覆盖原来port的value. server.tomcat.protocol-header 设定Header包含的协议,通常是 X-Forwarded-Proto,如果remoteIpHeader有值,则将设置为RemoteIpValve. server.tomcat.protocol-header-https-value 设定使用SSL的header的值,默认https. server.tomcat.remote-ip-header 设定remote IP的header,如果remoteIpHeader有值,则设置为RemoteIpValve server.tomcat.uri-encoding 设定URI的解码字符集. undertow 设定Undertow access log 的目录,默认: logs server.undertow.access-log-dir 设定Undertow access log 的目录,默认: logs server.undertow.access-log-enabled 是否开启access log,默认: false server.undertow.access-log-pattern 设定access logs的格式,默认: common server.undertow.accesslog.dir 设定access log 的目录. server.undertow.buffer-size 设定buffer的大小. server.undertow.buffers-per-region 设定每个region的buffer数 server.undertow.direct-buffers 设定堆外内存 server.undertow.io-threads 设定I/O线程数. server.undertow.worker-threads 设定工作线程数

优秀的个人博客,低调大师

SpringBoot Date String 互转

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/85247799 String To Date 提交的参数统一从String转变成Date package com.inforstack.qpdw.converter; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.core.convert.converter.Converter; import org.springframework.util.StringUtils; public class StringToDateConverter implements Converter<String, Date> { private static final String dateFormat = "yyyy-MM-dd HH:mm:ss"; private static final String shortDateFormat = "yyyy-MM-dd"; @Override public Date convert(String value) { if (StringUtils.isEmpty(value)) return null; value = value.trim(); try { if (value.contains("-")) { SimpleDateFormat formatter; if (value.contains(":")) formatter = new SimpleDateFormat(dateFormat); else formatter = new SimpleDateFormat(shortDateFormat); Date dtDate = formatter.parse(value); return dtDate; } else if (value.matches("^\\d+$")) { Long lTime = new Long(value); return new Date(lTime); } } catch (Exception e) { throw new RuntimeException(String.format("parser %s to Date fail", value)); } throw new RuntimeException(String.format("parser %s to Date fail", value)); } } Date ToString 提交的参数统一从Date转变成String 注解 返回的对象添加注解 @com.fasterxml.jackson.annotation.JsonFormat(timezone = "GMT+8", pattern ="yyyy-MM-dd HH:mm:ss") private java.util.Date createTime; 配置 修改application.properties #DATE TO STRING spring.jackson.time-zone=GMT+8 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册