首页 > 其他分享 >读取配置文件

读取配置文件

时间:2024-10-16 14:10:22浏览次数:6  
标签:读取 配置文件 db Value private class String

读取默认配置文件

配置文件(application.properties):可以是 yml 也可以是 properties 格式,properties 不支持map、数组等,yml 可以

spring.profiles.active: dev 
server.port: 18080

读取

@Component
public class Test {
	@Value("spring.profiles.active")
    private String profile;
    
    @Value("server.port")
    private int port;
    
    // 指定默认值,如果配置文件不存在配置项,也不指定默认值,启动会报错
    @Value("application.name:myApplication")
    private String applicationName;
}

读取指定配置文件

配置文件

# 文件名称叫 db.properties
db.host: 192.168.1.1
db.port: 3306
db.username: root
db.password: 123456

读取

// classpath: 表示当前工程 resource 目录(application.yml 的默认目录)
// classpath*: 当前工程和所有 jar 的 resource 目录(读取 jar 里面的配置文件)
// classpath:conf/db.properties:resource 的下级 conf 目录
@PropertySource("classpath:db.properties")
@Component
public class DbConfig {
	@Value("db.host")
    private String host;
    
    @Value("db.port")
    private String port;
    
    @Value("db.username")
    private String username;
    
    @Value("db.password")
    private String password;
}

映射 java 类

配置文件(application.yml

person: 
    id: 1
    name: Milk
    bobby: [吃饭, 睡觉, 打豆豆]
    family: [father, mother]
    map: {k1: v1, k2:v2}
    pet: {type: dog, name: 旺财} # 会根据 Pet 类自动映射

映射的 java 类

@ConfigurationProperties(prefix = "person") // 注解表示要映射属性,并指定前缀
public class Person {
    // 匹配 person.id
    private int id; 
    private String name; 
    // 匹配 person.hobby
    private List<String> hobby; 
    private String[] family; 
    private Map map;
    private Pet pet; // 需要创建一个 Pet 类
}

开启配置

@EnableConfigurationProperties(Person.class) // 开启对应配置类(写在哪都可以)
@SpringBootApplication
public class App{

    public static void main(String[] args){
        SpringApplication.run(App.class, args)
    }

}

不开启配置(不写 @EnableConfigurationProperties(Person.class)在 Person 上加 @Component 也能生效,两者二选一即可

如果想在写配置项的时候根据配置类进行提示,要加下面这个依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

标签:读取,配置文件,db,Value,private,class,String
From: https://www.cnblogs.com/cyrushuang/p/18469823

相关文章

  • ArcPy读取空洞岛图斑地块内外环折点坐标
    ArcPy读取图斑折点坐标与AE也些差别,还有多部件、空洞、岛等特殊情况需要处理。(1)代码读取结果会比软件程序多一个点(结束点,与首点实质是同一个点):程序读取结果:0、1、2、3、4、5、6、7、8、9软件显示结果:0、1、2、3、4、5、6、7、8如下图所示: (2)在ArcPy外环与内环不像AE那样,一条......
  • 【CTF Web】Pikachu SSRF(curl) Writeup(SSRF+读取文件+探测端口)
    SSRF(Server-SideRequestForgery:服务器端请求伪造)其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据数据流:攻击者-----......
  • OpenCV读取MIPI摄像头页面
    importnumpyasnpimportcv2importtimefromhobot_vioimportlibsrcampyassrcampyfourcc=cv2.VideoWriter_fourcc(*"XVID")fps=20frame_size=(1920,1080)writer=cv2.VideoWriter("out.avi",fourcc,fps,frame_size)cam_x3pi=s......
  • CSV、XML、JSON三种形式进行存储并读取
    下面是一个完整的Python示例代码,它可以生成简单的算式(加法、减法、乘法、除法),并将生成的算式和习题长期保存到CSV、XML和JSON三种格式中。代码包括生成算式的功能,以及将数据保存和读取的功能。1.代码实现pythonimportcsvimportjsonimportxml.etree.ElementTreeas......
  • golang从http请求中读取xml格式的body,并转成json
    推荐学习文档golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔记专栏文章目录以下是在Go语言中从HTT......
  • 分享我的Nvim Go语言配置文件
    细节参考我的另一篇文章(C++那篇)需要配置好Go语言的环境变量(可参考https://learnku.com/articles/24924)callplug#begin('~/.config/nvim/plugged')Plug'preservim/nerdtree'Plug'majutsushi/tagbar'Plug'Xuyuanp/nerdtree-git-plugin'Plug'......
  • Hoverfly 任意文件读取漏洞(CVE-2024-45388)
    漏洞简介Hoverfly是一个为开发人员和测试人员提供的轻量级服务虚拟化/API模拟/API模拟工具。其 /api/v2/simulation​的POST处理程序允许用户从用户指定的文件内容中创建新的模拟视图。然而,这一功能可能被攻击者利用来读取Hoverfly服务器上的任意文件。尽管代码禁止指定绝......
  • 读取bdict格式文件并转化为txt
    bdict格式是百度输入法的词库文件,那么怎么看里面的内容呢?这就需要用到bdict到txt的转化。下载:百度输入法-词库列表-餐饮比如下载“菜名大全”文件名:dict_file_734_20111227170031_1.0.0.bdict文件大小134924字节转换代码参考这篇文档:【搜狗&百度词库】.bdict文件与.sce......
  • 软件构造,生成算式采用CSV、XML、JSON三种形式进行存储并读取。
    编写代码完成将生成的算式及习题长期保存下来,采用CSV、XML、JSON三种形式进行存储并读取。提交相关代码及运行截图。importrandomimportcsvimportjsonimportxml.etree.ElementTreeasETfromxml.domimportminidom#生成随机算式数据defgenerate_exercises(count......
  • 利用pytorch的datasets在本地读取MNIST数据集进行分类
    MNIST数据集下载地址:tensorflow-tutorial-samples/mnist/data_setatmaster·geektutu/tensorflow-tutorial-samples·GitHub数据集存放和dataset的参数设置:完整的MNIST分类代码:importtorchimporttorch.nnasnnimporttorch.optimasoptimfromtorchvisionimpor......