短的問題:使用spring-boot時是否可以使用spring-boot命令行屬性:運行?
您如何配置環境配置文件,或者甚至只是一個可選的配置文件名 春季啓動:運行?
長版本:
是的,我讀了doc。 http://docs.spring.io/spring-boot/docs/current/reference/html/index.html
我有我的應用程序配置設置中的src/main /資源/ application-mysql.properties:
# Specify the DBMS
spring.jpa.database = MYSQL
# Other Mysql config properties
spring.jpa.hibernate.ddl-auto=create
有一個相應的application-hsql.properties,其中包含了一組相同的配置選項HSQL。 沒有application.poperties
還有一個對應的import.sql:
insert into users(name, email) values ('User One', '[email protected]')
insert into users(name, email) values ('Two User', '[email protected]')
僅存在測試,以檢查這些用戶在回購存在下的單元。
我相信這是真實的,只要是使用MySQL配置運行測試,這些行添加到用戶表。當使用hsql運行測試時,mysql db應該不受影響。 我手動丟棄用戶表運行之間,因爲我想看到手動時,它的存在。
1)如果我運行mvn測試,測試使用配置的DB:
mvn -Dspring.profiles.active=mysql clean test
主要生產mysql數據庫行和
mvn -Dspring.profiles.active=hsql clean test
不。
2)如果我做一個包,然後運行生成jar文件,我可以指定一個配置文件名:如果我和春天開機運行
java -jar -Dspring.profiles.active=mysql ./target/app.jar
3):來看,只有發現application.properties中的屬性(在此測試場景中不存在)。
mvn -Dspring.profiles.active=mysql clean spring-boot:run
什麼是彈簧引導:運行在啓動時運行方式與運行單元測試和啓動JAR不同嗎? db配置就是一個例子,但理論上我希望能夠在應用程序在本地運行而不是生產配置時指定一組dev配置。