SpringBoot常用配置
时间:2022-05-06
本文章向大家介绍SpringBoot常用配置,主要内容包括mvc、messages、mobile、view、resource、multipart、freemarker、velocity、thymeleaf、mustcache、groovy模板、http、json、jersey、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
前言:springboot集成了主流的第三方框架,但是需要使用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.
- 谷歌「机弦」有何玄机?
- 01字典树贪心查询+建立+删除(个人模版)
- 优先队列(个人模版)
- Numpy教程第2部分 - 数据分析的重要功能
- 最小表示法(个人模版)
- 基于Python-ChatterBot搭建不同adapter的聊天机器人(使用NB进行场景分类)
- 并查集(个人模版)
- Markdown 语法和 MWeb 写作使用说明既然都整理了,捎带手把这个也整理了吧第一级标题<h1>
- 带权并查集(个人模版)
- 我的第一次Pascal程序
- Hive第二天学习内容总结Hive 第三天DDL特别注意一下,没事别删除数据DML
- Codeforces 791B Bear and Friendship Condition(DFS,有向图)
- Codeforces 791A Bear and Big Brother(暴力枚举,模拟)
- Selenium2+python自动化28-table定位
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 浅谈Python 参数与变量
- 宝塔面板成功部署Django项目流程(图文)
- Python celery原理及运行流程解析
- Python Scrapy图片爬取原理及代码实例
- Python-for循环的内部机制
- 解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
- 基于python实现模拟数据结构模型
- keras的siamese(孪生网络)实现案例
- 浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
- Python数据可视化图实现过程详解
- Python matplotlib 绘制双Y轴曲线图的示例代码
- keras 读取多标签图像数据方式
- python新手学习可变和不可变对象
- COS Android SDK DEMO搭建实践
- 利用COS多版本避免文件误删除