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

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

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

 

一、系统配置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:\UsersZhangAppDataLocalTemp)  #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源码 获取这个系列课程的完整源码。