Spring Boot的配置文件

Spring Boot使用一个全局的配置文件application.properties或者application.xml,配置文件放在src/main/resources目录下。properties是我们常见的一种配置文件,Spring Boot不仅支持properties这种类型的配置文件,也支持xml语言的配置文件,我这里以properties类型的配置文件为例来看几个案例。

1. 修改Tomcat默认端口和默认访问路径

Tomcat默认端口是8080,我将之改为8081,默认访问路径是http://localhost:8080,我将之改为http://localhost:8081/helloworld
下面通过application.properties文件中添加如下代码实现:

server.context-path=/helloworld
server.port=8081

在Controller层,代码如下:

@RestController
public class Example {
    @RequestMapping("/hello")
    String hello() {
        return "Hello World! Test!";
    }
}

启动Project,在未修改端口和默认访问路径时,直接http://127.0.0.1:8080/hello访问,修改后在浏览器中就得这样来访问了http://127.0.0.1:8080/helloworld/hello

默认端口和默认路径修改.png

2. 属性配置

在配置文件application.properties中定义属性,然后在代码中直接使用@Value注入即可。
一般我们基于类型安全的配置方式,就是将properties属性和一个Bean关联在一起,这样使用起来会更加方便。我么来看看这种方式怎么实现。

  • 首先,我们在src/main/resources文件夹下新建一个config文件夹,该文件夹一般放一些对象的配置文件,这里我们创建文件book.propertites文件,内容如下:
#定义book的属性
book.name=Python
book.author=David
book.price=28
  • 然后,创建Book Bean,并注入properties文件中的值:
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * Created by 蘑菇姐夫 on 2018/3/28.
 * 举例使用配置注入
 */
@Data
@Component
@ConfigurationProperties(prefix = "book",locations = "classpath:config/book.properties")
public class BookConfig {
    private String name;
    private String auth;
    private String price;

}

其中,prefix是指前缀,location指定要注入文件的位置。

  • 最后,上接口端代码:
import com.mogujie.dianaTest.domain.BookConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Example {

    //注入Book Bean
    @Autowired
    private BookConfig bookConfig;

    @RequestMapping("/book")
    String book(){
        return "name= "+bookConfig.getName()+",auth="+bookConfig.getAuth()+",price="+bookConfig.getPrice();
    }

}
  • 启动Project,接口结果如下:


    属性配置.png

3. 日志配置

默认情况下Spring Boot使用Logback作为日志框架,如果有需要我们可以手动配置日志级别以及日志输出位置,相比于我们在Spring容器中写的日志输出代码,这里的配置更简单,只需要在application.properties中添加如下代码:

#配置日志
//日志输出位置
logging.file=/Users/蘑菇姐夫/Documents/mogujie/autoTest/dianaTest/debuglog.log
//日志级别
logging.level.org.springframework.web=info 
//日志配置
logging.config=classpath:logback-spring.xml

4. 测试环境切换

//todo

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容