当前位置: 首页 > article >正文

springboot项目中引入配置文件数据的方式

yml中引用变量

1. 直接在当前文件中定义然后使用格式 ${}   引用
2. 如果使用\t 转义不成功可以添加双引号

读取yml单个属性数据


使用@Value注解获取单个属性值,格式${一级属性名.二级属性名}

@Value("${country}")  
private String country;  
@Value("${server.port}")  
private String port;

public  String getYml(){  
    return  "yml.country:"+country+". <br>"+"yml.server.port:"+port;  
}
读取yml所有配置

使用Environment导入所有配置

@Autowired
private Environment env;

@GetMapping("/yml")  
public  String getYml(){  
    return  ".<br> env:"+env.getProperty("server.port");  
}
读取yml中的引用类型 (常用)

1. 使用@ConfigurationProperties注解绑定配置信息到封装类中。
2. 封装需要定义为Spring管理的bean,否则无法进行属性注入

@Autowired  
private YmlDataSource dataSource;  
@GetMapping("/ymlobj")  
public String getYmlV2(){  
    return "通过定义组件的方式获取yml属性:"+dataSource.toString();  
}

package com.example.springbootm4;  
  
import org.springframework.boot.context.properties.ConfigurationProperties;  
import org.springframework.stereotype.Component;  
  
@Component  
@ConfigurationProperties(prefix = "datasource") // prefix 指定对象名 
public class YmlDataSource {  
    private String driver;  
    private String url;  
    private String username;  
    private String password;  
  
    public String getDriver() {  
        return driver;  
    }  
  
    public void setDriver(String driver) {  
        this.driver = driver;  
    }  
    public String getUrl() {  
        return url;  
    }  
    public void setUrl(String url) {  
        this.url = url;  
    }  
    public String getUsername() {  
        return username;  
    }  
    public void setUsername(String username){  
        this.username = username;  
    }  
    public String getPassword() {  
        return password;  
    }  
  
    public void setPassword(String password) {  
        this.password = password;  
    }  
    @Override  
    public String toString(){  
        return "driver:"+driver +"<br>url:"+this.url +"<br> username:"+this.username +"<br> password"+this.password;  
    }  
}


http://www.kler.cn/a/375243.html

相关文章:

  • 计组-层次化存储结构
  • 12. 内存管理
  • windows@命令行中获取环境变量取值不展开取值(原值)
  • 在macOS的多任务处理环境中,如何平衡应用的性能与用户体验?这是否是一个复杂的优化问题?如何优化用户体验|多任务处理|用户体验|应用设计
  • SpringBoot实现国密通信
  • 期货跟单、量化交易模拟演示系统
  • 【Kaggle | Pandas】练习5:数据类型和缺失值
  • 【Redis优化——如何优雅的设计key,优化BigKey,Pipeline批处理Key】
  • 力扣每日一题 超级饮料的最大强化能量 动态规划(dp)
  • python后端框架登录入门
  • Java期末考试
  • Git介绍及用法
  • 微服务day01
  • 10.31OpenCV_图像预处理习题
  • 推荐一款功能强大的思维导图制作工具:MindMaster
  • React.js教程:从JSX到Redux的全面解析
  • C/C++每日一练:实现选择排序
  • 大语言模型及LangChain介绍
  • 【oracle】正则表达式
  • 蓝禾,汤臣倍健,三七互娱,得物,顺丰,快手,途游游戏,埃科光电25秋招内推
  • Bolt.new: 终极自动化全栈编程工具,吊打 cursor
  • 【ZZULI】数据库第二次实验
  • C# 结构型设计模式----外观模式
  • 图像的特征类别
  • 2024前端面试训练计划-高频题-JavaScript基础篇
  • ubuntu禁止自动更新设置