Spring Boot 的配置文件

配置文件是一种计算机文件,可以为计算机程序配置参数和设定初始值。在Spring Boot项目中,resources文件就是配置文件:

该目录下面的static目录里面主要存放静态文件,比如图片,css等。而templates目录下面主要用来存放模板文件。application.properties和application.yml则是项目的配置文件,整个项目中所有的数据都是在该配置文件中配置的,比如:数据库的连接信息、项目的启动端口、第三方系统的调用秘钥等信息、用于发现和定位问题的普通日志和异常日志等。

 

配置文件的格式 

配置文件主要有两种格式:properties、yml

Spring Boot中配置文件的两个重要作用

1.位系统框架提供数据支持

2.为程序员自己去使用

 

properties

properties是创建Spring Boot项目默认的配置文件,properties是以键值对的形式配置的,key和value之间是以“=”连接的,比如:

#配置项目的端口
server.port=8080

 

properties的缺点:对于一个参数的多个配置设置很麻烦,需要从开始一直写到结束,并且冗余信息很多。

yml 

yml是一个可读性高,易于理解,用来表达数据序列化的格式。yml是以key: value的形式组成,其中key和value之间使用英文冒号加空格的方式组成,并且空格一定不能省略。 

#配置项目端口
server:
  port: 8888

yml的优点:

可以跨语言、写法更加简洁可读性更高 、支持更多的数据类型

和properties对比,yml使用就比较简洁:

 

 

使用yml来配置对象

student:
    id: 1
    name: Java
    age: 18

或者写成行内写法

student: {id: 1,name: Java,age: 18}

使用yml来配置集合

dbtypes:
    nema:
        - mysql
        - sqlserver
        - db2

或者使用行内写法

dbtypes: {name: [mysql,sqlserver,db2]}

 

读取配置文件 

在Spring Boot项目中读取配置文件

方式一:使用@Value注解来实现,@Value主要用来读取单个配置项。

语法结构:@Value("${key}") 

例如读取properties文件中的配置信息:

@SpringBootApplication
public class Application implements InitializingBean {

    //读取配置文件中的url
    @Value("${spring.datasource.url}")
    private String url;

    //读取配置文件中的username
    @Value("${spring.datasource.username}")
    private String username;

    //读取配置文件中的password
    @Value("$(spring.datasource.password)")
    private String password;


    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println();
        System.out.println("url:"+url);
        System.out.println("username:"+username);
        System.out.println("password:"+password);
        System.out.println();
    }
}

 

方式二:使用@ConfigurationProperties("key")来读取多个配置信息

第一步:将配置文件中的一组对象映射到某个类上

 

在这一步中,两个注解@Component和@ConfigurationProperties非常重要,其中@Component可以替换为其他类注解,它的作用就是将当前类中的属性值替换为配置文件中的属性值。@ConfigurationProperties是用来读取配置文件的,它括号里面的prefix表示配置文件的前缀,prefix可加可不加 

第二步:使用注入的方式在其他类中注入Student即可

@SpringBootApplication
public class Application implements InitializingBean {
    //使用属性注入的方式来获取到学生类中的学生信息
    @Autowired
    private Student student;

    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println();
        System.out.println("student:"+student);
        System.out.println();
    }
}

 

使用@ConfigurationProperties("key")来读取集合 

第一步:将配置文件中的一组对象映射到某个类上 

 

第二步:使用注入的方式在其他类中注入MyList即可 

@SpringBootApplication
public class Application implements InitializingBean {

    //使用属性注入的方式来获取到MyList集合中的信息
    @Autowired
    private MyList myList;

    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println();
        System.out.println("mylist:"+myList.getName());
        System.out.println();
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼吐泡泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值