目录
2.2 @PropertySource与@ConfigurationProperties相结合
1. 概述
最近想尝试写一个定时任务管理,相关参数不想在Spring的配置文件Application.yml或者Application.properties获取。想自己新建一个properties文件。顺便对参数读取进行学习总结。
2. 实现方式
2.1 @Value方式
该方式可以从Application.properties或者Application.yml获取
在文件中可以自定义参数,比如这样:

获取写成这样:

2.2 @PropertySource与@ConfigurationProperties相结合
pfrefix="syjk" 表示参数带有前缀"syjk"
我将参数写在info.properties下
syjk.loginurl=url1
syjk.uploadurl=url2
syjk.username=102020
syjk.password=365241
syjk.realtime=5
然后定义一个Bean类,
@Data
@Component
@PropertySource(value = "classpath:info.properties")
@ConfigurationProperties(prefix = "syjk")
public class Info {
private String loginurl; //授权地址
private String uploadurl; //上传地址
private String username; //账号
private String password; //密码
private int realtime; //定时间隔
}
方便看效果,我在controller中来测试下:

调用getUserList接口,后台显示与info.properties设置一致

3. 结束
学习总结.
文章介绍了如何在Spring中不使用Application.yml或Application.properties而是从自定义的info.properties文件中读取参数。提到了两种实现方式:@Value注解和@PropertySource与@ConfigurationProperties结合使用。@Value直接获取属性值,而后者通过指定前缀加载整个配置类。文章提供了一个示例Bean类及Controller测试用例来展示效果。
582

被折叠的 条评论
为什么被折叠?



