在一個正常的springBoot工程中其application.properties的配置文件如下內容【就一行】base.myname2=my?Name?properties?我的名字然后配置一個讀取配置文件的類package?com.beini.base.config;
import?org.springframework.boot.context.properties.ConfigurationProperties;
import?org.springframework.context.annotation.Configuration;
import?lombok.Data;
@Configuration
@ConfigurationProperties(prefix="base")
/*相當于普通java類的getter和setter*/
@Data
public?class?PropertiesConfig?{
????private?String?myname2;
}然后在一個測試類開始書寫測試類package?com.beini.base;
import?org.junit.Test;
import?org.junit.runner.RunWith;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.boot.test.context.SpringBootTest;
import?org.springframework.test.context.junit4.SpringRunner;
import?com.beini.base.config.PropertiesConfig;
@RunWith(SpringRunner.class)
@SpringBootTest
public?class?BaseApplicationTests?{
????@Autowired
????private?PropertiesConfig?config;
????@Test
????public?void?contextLoads()?{
???? System.out.println("yml文件"+config.getMyname());
???? System.out.println("properties文件"+config.getMyname2());
???? }
????}
}打印出來的結果如下【運行測試類】properties文件my?Name?properties?????-也就是說中文“我的名字” 替換成了如下亂碼????-問題代碼下載鏈接https://github.com/XiaoCao1434/beini-base 希望有答案的慕課友們解答。另外我試過以下兩者方式可行a: properties 文件的編碼格式使用默認的ISO-8859-1編碼格式【缺點就是編輯的文件不方便肉眼直接觀察】b: 將properties的內容轉換成yml文件【缺點就是不方便當前項目屬性配置轉換】希望的答案properties的文件編碼格式是UTF-8,而且屬性值可能是中文在讀取配置文件之后其屬性值能夠正確讀出中文值且配置文件的內容能夠方便肉眼看到漢字
添加回答
舉報
0/150
提交
取消