spring使用@Value注解读取.properties文件时出现中文乱码问题的解决

解决办法

在spring中我们常常使用.properties对一些属性进行一个提前配置, spring 在读取*.properties文件时,

默认使用的是asci码, 这时 我们需要对其编码进行转换. 下面列举两种常见的方法。

方法一:在配置spring.xml文件时,声明所需的∗.properties文件时直接使用"utf−8"编码

<context:property-placeholder location="classpath:conf/*.properties" file-encoding="UTF-8"/>

方法二:如果在所需类上注入可使用以下方式来声明编码格式:

@Component
@PropertySource(value = "classpath:conf/copyWriteUI.properties",encoding = "utf-8")
@Getter
public class CopyWriteUI {
    @Value("${a}")
    private String a;
    @Value("${b}")
    private String b;
    }

附录 spring <context:property-placeholder/> 的属性说明

<context:property-placeholder
        location="属性文件,多个之间逗号分隔"
        file-encoding="文件编码"
        ignore-resource-not-found="是否忽略找不到的属性文件"
        ignore-unresolvable="是否忽略解析不到的属性,如果不忽略,找不到将抛出异常"
        properties-ref="本地Properties配置"
        local-override="是否本地覆盖模式,即如果true,那么properties-ref的属性将覆盖location加载的属性,否则相反"
        system-properties-mode="系统属性模式,默认ENVIRONMENT(表示先找ENVIRONMENT,再找properties-ref/location的),NEVER:表示永远不用ENVIRONMENT的,OVERRIDE类似于ENVIRONMENT"
        order="顺序"
        /> 

原文地址:https://www.cnblogs.com/jepson6669/p/9319336.html

时间: 2024-10-03 03:56:22

spring使用@Value注解读取.properties文件时出现中文乱码问题的解决的相关文章

Java读取properties配置文件时,中文乱码解决方法

碰到了用java.util.Properties读取中文内容(UTF-8格式)的配置文件,发生中文乱码的现象 Properties prop=new Properties(); prop.load(Client.class.getClassLoader().getResourceAsStream("config.properties")); 由于使用这样的加载方式使用了系统默认的编码格式,不是UTF-8格式的读取模式,就会发生乱码情况. 正确解决方法 Properties prop=n

spring使用@Value标签读取.properties文件的中文乱码问题的解决

最近测试某个老系统的时候,启动的时候发@Value注入的中文是乱码,文件使用GBK/UTF-8的时候均会出现乱码问题,但是spring配置文件里面注入的占位符并没有这个问题,bean文件设置了file-encoding="UTF-8"亦如此. 经查,可通过如下方式解决: @Component @PropertySource(value = "classpath:conf/spider.properties",encoding = "utf-8")

解决在读取properties文件中出现中文报错问题

// 读取properties中的参数 Properties properties = new Properties(); // 读取properties文件 使用InputStreamReader来解决中文报错问题 InputStreamReader inputStreamReader = null; // InputStream inputStream = Main.class.getResourceAsStream("/file.properties"); // 需要遍历的路径

外部调用JS文件时出现中文乱码的解决办法

若测试网页的编码格式为:gb2312,而调用外部JS文件时出现了乱码(前提是JS文件无错误),则将调用的外部JS文件用记事本打开,然后再保存成编码格式为UTF-8的JS文件即可. 若测试网页的编码格式为:UTF-8,则反之即可.

Spring使用注解读取properties文件内的参数

1. 在spring的配置文件中,配置好需要读取的properties文件 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <

Spring 中 用 ${xxx} 读取properties文件的说明

properties 如果在 spring 中通过 PropertyPlaceholderConfigurer 加载,当spring 中需要 用到 properties 中的一些 key 和value 值时可以 利用 PorpertyPlaceholderConfiger 提供的$ 直接 取得. PorpertyPlaceholderConfiger 有一些常用的属性,在一些高级应用中,可能会用到 locations fileEncoding 属性文件的编码格式 order 文件中定义了多个Pr

Spring用代码来读取properties文件

我们都知道,Spring可以@Value的方式读取properties中的值,只需要在配置文件中配置org.springframework.beans.factory.config.PropertyPlaceholderConfigurer <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

使用spring最简单地读取properties文件中的内容

相比传统的读取propertis文件内容,使用spring框架会更加简单快捷 1. 第一步,在spring的配置文件中,将propertis文件加载到spring容器 2. 加载了配置文件后,只需要在需要使用的地方,使用spring注入即可 原文地址:https://www.cnblogs.com/mayiaction/p/10869758.html

casperjs在拆分文件后的中文乱码问题的解决

windows环境. capserjs的中文乱码使用phantom.outputEncoding="GBK";即可解决. 但当我们脚本很大,需要拆分时(参考http://docs.casperjs.org/en/latest/writing_modules.html),拆分到另一文件(example.js)时,中文却无法echo出来. 后来发现, example.js是我们用记事本建立的,编码为ANSI,改为UTF-8编码即可正确显示中文. 延伸,若任意脚本为ansi编码,echo中文