springboot框架也被我認爲一個工具,它的主要核心文件爲application.properties,又能夠命名爲application.yml亦或者application.yaml,全部的與springboot集成框架等的配置屬性均可以在它裏面配置。mysql
server.port=8080
server: port: 8080
注意冒號後面加空格,在填寫具體之redis
列入:spring
mujiutian.haha=566
java類取值爲:sql
@Value("${mujiutian.haha}") private String aa;
這樣就能夠獲取到配置文件中的值。數據庫
可是若是你輸入的是中文的話,會出現亂碼,因此在配置文件中添加配置:springboot
spring.http.encoding.charset=utf-8 spring.http.encoding.enabled=true spring.http.encoding.force=true
同時,在IDEA中的setting的文件編碼也須要一致,否則不會正常顯示中文,有的默認是GBKapp
這樣獲取配置文件中即使是中文的值也會正常顯示框架
這個註解也可以取配置文件中的註解,不過通常主要用於一個配置類中,將配置文件的那些屬性集中到一個具體java類,而後贊成組成一個實體類對他封裝,通常用於mysql,redis等配置文件中工具
配置文件:
mujiutian.haha=愛你
具體類:
@Component @ConfigurationProperties(prefix = "mujiutian") public class TestConfig { private String haha; public String getHaha() { return haha; } public void setHaha(String haha) { this.haha = haha; } }
最後在controller中獲取:
@Controller public class Test1Controller { @Autowired TestConfig testConfig; @RequestMapping(value = "/test") public @ResponseBody String test1(){ return testConfig.getHaha(); } }
也可以取出相同的值。兩種註解用於不一樣的場景。
通常咱們本身開發使用的數據庫與產品上線使用的數據庫是不同的,之前的ssm框架咱們是在xml中註釋這個xml文件,而後打開線上的庫,而如今springboot不一樣了,改變不是那麼的大,咱們分別建立多餘的兩個配置文件,名字不一樣,application-dev.properties和application-pro.properties這兩個配置文件咱們配置一樣的屬性,好比一個是server.port=8080,而另外一個是server.port=8098,咱們正常開發使用8080端口,線上環境切換到8098的端口,而後在主配置文件application.properties中配置爲:
spring.profiles.active=dev
後面的dev 就是咱們本身多添加文件的application-{name}.properties,當咱們想切換那個配置文件的時候,咱們能夠根據這個就能夠了。