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:
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,接口结果如下:
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