SpringBoot 项目配置文件中获取属性值
程序员文章站
2022-05-02 11:40:49
...
方式一: @Value
基本类型属性注入,直接在字段上添加@Value("${xxx.xxx}")即可。
配置文件
URL=http://localhost:8080/test/index
NAME=name
测试代码
@RequestMapping("/test")
public class NsfwController {
@Value("${URL}")
private String url;
@Value("${NAME}")
private String name;
@GetMapping(value = "/index")
public void<String, Object> test() {
System.out.println(url);
System.out.println(name);
}
}
方式二:@ConfigurationProperties注解读取
当项目中需要大量配置字段时,将properties属性和一个Bean关联在一起
配置文件
Test.URL=http://localhost:8080/test/index
Test.NAME=name
测试代码
@Data
@Component
@ConfigurationProperties(prefix = "Test")
@PropertySource(value = "config.properties")
public class TestBean{
private String name;
private String url;
}
-
@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
-
@Component 表示将该类标识为Bean
-
@ConfigurationProperties(prefix = “Test”)用于绑定属性,其中prefix表示所绑定的属性的前缀。
-
@PropertySource(value = “config.properties”)表示配置文件路径。
使用时,@Autowired自动装填即可
测试代码
@RequestMapping("/test")
public class NsfwController {
@Autowired
private Test test;
@GetMapping(value = "/index")
public void test() {
System.out.println(test.getName());
System.out.println(test.getUrl());
}
}
方式三:使用工具类
使用场景:无法自动注入或者不需要Bean注入的普通Java项目
配置文件
URL=http://localhost:8080/test/index
NAME=name
工具类
import java.util.ResourceBundle;
public class Util {
/**
* 服务地址
*/
public static String URL;
/**
* Name
*/
public static String NAME;
static {
//配置文件名
ResourceBundle rb = ResourceBundle.getBundle("application");
URL = rb.getString("URL");
NAME = rb.getString("NAME");
}
}
测试代码
//直接获取到工具类的值
private static String url = Util.URL;
private static String name = Util.NAME;
public class NsfwController {
public void test() {
System.out.println(url);
System.out.println(name);
}
}
推荐阅读
-
js获取form表单中name属性的值
-
页面使用struts2标签获取List中的对象属性值,Struts2常用标签总结
-
JQuery中6种根据属性或属性值获得元素获取方法
-
在js中获取页面元素的属性值时,弱类型导致的诡异事件踩坑记录,
-
JS和jQuery通过this获取html标签中的属性值(实例代码)
-
js简单遍历获取对象中的属性值的方法示例
-
X-admin2.2中switch开关的监听,以及属性值获取和更改状态等操作
-
Spring框架中引入外部配置文件的属性值
-
Springboot如何获取配置文件application.yml中自定义的变量并使用
-
普通javaweb项目中获取配置文件中的key-value