配置文件
啟動(dòng)類(lèi):
SpringbootStudyApplication.java 名字隨便定,@SpringBootApplication決定啟動(dòng)類(lèi)
@SpringBootApplication
public class SpringbootStudyApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootStudyApplication.class, args);
}
}
配置文件:
格式一:
application.properties
例如:添加全局訪問(wèn)路徑和修改 Tomcat 的端口號(hào)
server.context-path=/demo
server.port=8081
格式二:
-
系統(tǒng)屬性
application.yml例如:添加全局訪問(wèn)路徑
context-path和 修改 Tomcat 的端口號(hào)server: port: 8000 # 解決亂碼問(wèn)題 tomcat: uri-encoding: utf-8 # 配置全局訪問(wèn)根路徑,Spring boot默認(rèn)是/ ,這樣直接通過(guò)http://ip:port/就可以訪問(wèn)到index頁(yè)面 context-path: /test -
自定義屬性:
application.ymlage: 18 # 自定義屬性 name: inke # 自定義屬性 content: "name:${name},age:${age}" #配置引用配置在代碼中引用
HelloController.java@Value("${age}") private Integer age;//@value可以獲取application.yml配置的值 @RestController public class HelloController { } -
類(lèi)和屬性關(guān)聯(lián)
application.ymlperson: age: 18 # 自定義屬性 name: inke # 自定義屬性Person.java@Component @ConfigurationProperties(prefix = "person") public class Person { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }在代碼中引用
HelloController.java@RestController public class HelloController { // @Value("${age}") // private Integer age; // // @Value("${content}") // private String content; @Autowired private Person person; @RequestMapping(value = "/hello") public String sayHello() { return "hello world name:" + person.getName() + " , age:" + person.getAge(); } }
多個(gè)配置文件切換
application.yml 通過(guò) active 指定的屬性的環(huán)境:dev 還是 prod
spring:
profiles:
active: prod
application-dev.yml
person:
age: 18 # 自定義屬性
name: dev001 # 自定義屬性
application-prod.yml
person:
age: 18 # 自定義屬性
name: prod001 # 自定義屬性
啟動(dòng)的時(shí)候,會(huì)根據(jù) active 指定的環(huán)境屬性文件進(jìn)行加載。