在一个正常的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
提交
取消