• SpringBoot入门系列(三)资源文件属性配置


    前面介绍了Spring的@Controller和@RestController控制器, 他们是如何响应客户端请求,如何返回json数据。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html

    今天来说一说SpringBoot的application.properities的相关配置属性和如何自定义配置文件。

     这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码 获取这个系列课程的完整源码。或者点此链接直接下载完整源码

    一、系统配置application.properities

    创建spring-boot项目后,会在resources目录下生成一个空的application.properties配置文件,springboot启动时加载该配置文件。

    application.properties(或者application.yml)中包含系统属性、环境变量、命令参数这类信息。

    下面简要说一部分spring-boot项目中application.properties内的一些常用配置,更多参照官方文档

    ############################################################
    #
    # Server 服务器相关配置
    #
    ############################################################
    # 配置端口号
    server.port=8080
    # 配置context-path,一般这个配置在正式发布的时候不需要配置。 
    #server.context-path=
    # 错误页,指定发生错误时,跳转的URL --> BasicErrorController
    #server.error.path=/error
    # session最大超市时间(分钟),默认30分钟
    server.session-timeout=60
    # 服务绑定的IP地址,启动服务器时,如本机不是该IP地址则抛出异常启动失败,
    # 所以此配置只有在特殊情况下才配置,具体更具各自的业务来设置。
    #server.address=192.168.1.9
    
    ############################################################
    # Server - tomcat 相关配置
    ############################################################
    # tomcat最大线程数,默认200
    #server.tomcat.max-threads=250
    # tomcat的URI编码格式
    server.tomcat.uri-encoding=UTF-8
    # 存放Tomcat的日志,Dump等文件的零食文件夹,默认为系统但是tmp文件夹
    # (如:C:\UsershangAppDataLocalTemp)
    #server.tomcat.basedir=D:/springboot-tomcat-tmp
    # 打开Tomcat的Access日志,并可以设置日志格式的方法,
    #server.tomcat.access-log-enabled=true
    #server.tomcat.access-log-pattern=
    # accesslog目录,默认在basedir/logs
    #server.tomcat.accesslog.directory=
    # 日志文件目录
    #logging.path=H:/springboot-tomcat-tmp
    # 日志文件名称,默认为spring.log
    #logging.file=myapp.log

    这些参数配置不一定要写在application.properties里面,可以在application.properties里面配置指定自定义配置文件名称和位置:(但是无论怎么配置,spring-boot都会读取加载application.properties文件)

    二、自定义配置

    系统相关的配置,我们一般放在application.properties中,但是其他的和业务相关的配置怎么定义呢,下面就来介绍下如何自定义配置:

    1、增加自定义的resource.properties 文件

    com.weiz.resource.name=weiz
    com.weiz.resource.website=www.weiz.com
    com.weiz.resource.language=java

    2、增加Resource.java 类

    package com.weiz.pojo;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    @Configuration
    @ConfigurationProperties(prefix = "com.weiz.resource")
    @PropertySource(value = "classpath:resource.properties")
    public class Resource {
        private String name;
        private String website;
        private String language;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getWebsite() {
            return website;
        }
    
        public void setWebsite(String website) {
            this.website = website;
        }
    
        public String getLanguage() {
            return language;
        }
    
        public void setLanguage(String language) {
            this.language = language;
        }
    }

    @ConfigurationProperties 配置的属性,prefix定义这些属性的前缀。

    @PropertySource 资源配置文件的地址。

    3、调用

        @Autowired
        private Resource resource;
        
        @RequestMapping("/index")
        public String index(ModelMap map) {
            map.addAttribute("name", resource.getName());
            return "freemarker/index";
        }

    最后

    以上,就把Spring Boot如何资源文件属性配置介绍完了。

    这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码 获取这个系列课程的完整源码。

  • 相关阅读:
    快排笔记C++
    security+redis+jwt 一个登陆注册查询的例子
    centeros 配置好环境虚拟机下载(java git mysql maven nginx Python redis nodejs tomcat )
    ZwQueryInformationProcess 反调试代码
    c++ 创建进程设置窗口标题模拟键盘鼠标例子
    求一个数二进制中包含多少个1
    憨批是我
    憨批是我
    问卷星实现自动填表刷问卷(问卷星分析post协议实现 安卓版)
    前端面试题 -- 综合
  • 原文地址:https://www.cnblogs.com/zhangweizhong/p/12389452.html
Copyright © 2020-2023  润新知