Spring中使用@Value注解获取properties配置文件中的变量值

在我们项目中往往会使用到properties配置文件来定义一些跟系统环境有关的配置,因此今天我们学习使用spring中的@Value注解来快速方便地将我们配置文件中的变量值赋值给java类的属性值。

1.首先我们先在项目中建一个properties配置文件,然后定义好我们需要的变量名和对应的值

Spring中使用@Value注解获取properties配置文件中的变量值_第1张图片

2.然后我们需要在spring-xxx.xml任意配置文件中添加下段代码


3.我们需要一个Java类来申明我们需要的Java变量,在变量的前面标注注解@Value("${xxx}"),xxx就是配置文件中的变量名称,该注解只能使用在类属性值上面,并且类属性不能定义为static,代码:

package com.cd.batch;


import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class BatchPayData {
	
	@Value("${FTP_id}")
	private String FTP_id;
	@Value("${FTP_user}")
	private String FTP_user;
	@Value("${FTP_pwd}")
	private String FTP_pwd;
	@Value("${FTP_port}")
	private String FTP_port;
	@Value("${FTP_path}")
	private String FTP_path;
}


4.现在看似我们的操作就做完了,其实不然,我们还需要一个重要的步骤,我们需要将我们的Java类注入到spring容器中,这样@Value注解才能生效,毕竟是spring的注解嘛,这些操作只有让它自己来做才行的。在spring-xxx.xml中注入Java类的实例,我使用的是@Component注解加包扫描的方式,当然你也可以直接配置一个bean在xml文件中,效果都一样,代码:



这样就实现了在spring中使用@Value注解直接获取properties文件中的变量值。

但是,这里还有一个问题,如果我在配置文件中配置了中文汉字,可能会出现乱码,这个问题怎么解决呢?在向spring中引入properties配置文件是加上这个:


把UTF-8换成你自己项目中使用的编码方式即可,这样就能解决中文乱码问题了。

 

你可能感兴趣的:(SSM框架,Spring,@Value注解)