【SSM框架|Spring中使用@Value注解获取properties配置文件中的变量值】在我们项目中往往会使用到properties配置文件来定义一些跟系统环境有关的配置,因此今天我们学习使用spring中的@Value注解来快速方便地将我们配置文件中的变量值赋值给java类的属性值。
1.首先我们先在项目中建一个properties配置文件,然后定义好我们需要的变量名和对应的值
文章图片
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换成你自己项目中使用的编码方式即可,这样就能解决中文乱码问题了。
推荐阅读
- java的Spring中@Value注解的使用
- SpringBoot|SpringBoot 如何集成 MyBatisPlus - SpringBoot 2.7.2实战基础
- springBoot|SpringBoot 集成 MybatisPlus 自动生成简单的CRUD,可结合构造器使用
- SpringBoot|SpringBoot集成MyBatisPlus生成代码和操作
- spring|全栈开发之后端脚手架(SpringBoot 集成 MybatisPlus 代码生成,分页)
- SpringBoot|SpringBoot笔记(SpringBoot集成MyBatisPlus实战)
- java|SpringBoot+MyBatisPlus
- 微服务|Springboot集成Mybatisplus,轻松CRUD
- springboot系列|【springboot系列】springboot整合mybatisplus实现CRUD