springboot框架学习 yml书写规范、变量的引用与封装测试

springboot也有自己的配置文件,基于一种凸显数据的简洁风格,书写的规范也很经典,使用空格缩进而不是使用tab缩进,下面来看代码:

application.yml:

#类似集合map类型的键值对(我们用来测试用实体封装这个集合)
datasource:
    driver: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 123456
#类似于数组类型,从0开始的索引(我们用来测试引用这个数据里的数据)
user:
  -
    name: huang
    age: 20
  -
    name: zhang
    age: 21
#设置端口号
server:
  port: 8080
#设置变量
name: huanglinchun

看一下在测试里引用变量与封装变量的代码:

@RestController
public class hellocontroller {
//boot获取指定集合型变量值的方法
    @Value("${datasource.driver}")
    private String driver;
//    boot获取指定数组型变量的方法
    @Value("${user[0].name}")
    private String name;
//boot用这个对象来封装 所有 yml配置文件中定义的变量
    @Autowired
    private Environment environment;
//boot在yml文件指定封装对象的值,这个对象的代码在下一个代码栏
    @Autowired
    private mydatasourse mydatasourse;


    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "hello/"+driver+"/"+name+"/"
                + environment.getProperty("server.port")+"/"
                +mydatasourse.toString();
    }
}

mydatasource.java代码(用于关于数据库的变量封装测试)

@Component
@ConfigurationProperties(prefix = "datasource")
public class mydatasourse {
    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 "mydatasourse{" +
                "driver='" + driver + '\'' +
                ", url='" + url + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

看完整体之后相信对于yml文件的书写规范有了一些认识,我们需要注意的是boot里也有很多spring的东西,之前说过在注释上会体现,我们不难发现,boot大部分就是相当于纯注解开发了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot项目中,application.yml是一种用于配置文件的语言,可以替代application.properties文件。它是JSON的超集,简洁而强大。在创建Spring Boot项目时,引入spring-boot-starter-web依赖会间接引入snakeyaml依赖,snakeyaml会实现对YAML配置的解析。与application.properties相比,application.yml具有以下几个区别和特点: 1. YAML支持列表的配置,而Properties不支持。 2. application.properties的优先级会比application.yml高,也就是说如果两个文件都存在,且两个文件都配置了同一个属性,那么会以application.properties里的配置为准。 3. bootstrap.yml可以理解为系统级别的一些参数配置,一般用于定义一些不会变动的参数。而application.yml可以理解为应用级别的一些参数配置,一般用于定义应用系统的参数配置。 4. 当使用配置中心的组件时,需要在bootstrap配置文件中添加连接到配置中心的配置信息。 因此,如果你在项目中同时存在application.properties和application.yml文件,两个文件都是有效的,但是application.properties的优先级会比application.yml高。你可以根据具体需求选择使用哪种配置文件。 #### 引用[.reference_title] - *1* [SpringBoot中application.yml基本配置详情](https://blog.csdn.net/vingo007/article/details/124625789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SpringBoot - 配置文件application.yml使用详解](https://blog.csdn.net/goodjava2007/article/details/126629947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)](https://blog.csdn.net/qq_31432773/article/details/115916386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ForestSpringH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值