springboot配置文件及yml的使用

1.配置文件

作用:springboot自动配置是基于约定的,可以使用配置文件对默认的配置或约定进行修改

默认的全局配置文件:

①application.properties :

写法:k=v

示例:

server.port = 8880

②application.yml :yml不是一个标记文档

写法:k:空格v

示例:

server:

port: 8880

path: a\b\c

yml里面默认可以不写引号,“”(双引号)会将其中的转义符转义,其他不转义

xml是一个标记文档:

<server>

<port>8080</port>

<path>a\b\c</path>

</server>

2.yml的使用

①创建一个student类(Student.class)

package com.example.bean;import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component //将javabean放入spring容器内
@ConfigurationProperties(prefix = "student")//spring-boot 提供@ConfigurationProperties注解将配置文件的值映射到类上使用
public class Student {private String name;private int age;private boolean sex;private Date birthday;private Map<String,Object> location;private String[] habbies;private List<String> skills;private Pet pet;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public boolean isSex() {return sex;}public void setSex(boolean sex) {this.sex = sex;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public Map<String, Object> getLocation() {return location;}public void setLocation(Map<String, Object> location) {this.location = location;}public String[] getHabbies() {return habbies;}public void setHabbies(String[] habbies) {this.habbies = habbies;}public List<String> getSkills() {return skills;}public void setSkills(List<String> skills) {this.skills = skills;}public Pet getPet() {return pet;}public void setPet(Pet pet) {this.pet = pet;}public Student(String name, int age, boolean sex, Date birthday, Map<String, Object> location, String[] habbies,List<String> skills, Pet pet) {super();this.name = name;this.age = age;this.sex = sex;this.birthday = birthday;this.location = location;this.habbies = habbies;this.skills = skills;this.pet = pet;}public Student() {super();}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", sex=" + sex + ", birthday=" + birthday + ", habbies="+ Arrays.toString(habbies) + ", skills=" + skills + ", pet=" + pet + "]";}}

②创建Pet类(Pet.class)

package com.example.bean;public class Pet {private String nickname;private String strain;public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}public String getStrain() {return strain;}public void setStrain(String strain) {this.strain = strain;}@Overridepublic String toString() {return "Pet [nickname=" + nickname + ", strain=" + strain + "]";}public Pet(String nickname, String strain) {super();this.nickname = nickname;this.strain = strain;}public Pet() {super();}}

③编写yml文件(application.yml)

student: #简单类型name: djkage: 20sex: truebirthday: 2000/07/15#map类型:location: #写法2:province: sdcity: wfzone: sg#写法1:{province: sd,city: wf,zone: sg} 行内写法#数组类型:habbies: [篮球,兵乓球,书法] #行内写法#- 篮球#- 兵乓球#- 书法#集合类型:skills: [计算机,编程,springboot] #行内写法#- 计算机#- 编程#- springboot#类 类型Pet:#写法2{nickname: xiaobai,strain: jiwawa} #写法1#nickname: xiaobai#strain: jiwawa 

④测试 

package com.example.SpringbootDemo;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import com.example.bean.Student;@RunWith(SpringRunner.class)
@SpringBootTest
@EnableConfigurationProperties(Student.class)//3.通过@Autowired标签即可访问到该对象,不过在使用之前必须在使用类上面增加注解@EnableConfigurationProperties
public class SpringbootDemoApplicationTests {@AutowiredStudent student;@Testpublic void contextLoads() {System.out.println(student);}}

注解

1. @EnableConfigurationProperties(Student.class)

通过@Autowired标签即可访问到该对象,不过在使用之前必须在使用类上面增加注解@EnableConfigurationProperties

2. @ConfigurationProperties(prefix = "student")

spring-boot 提供@ConfigurationProperties注解将配置文件的值映射到类上使用

springboot学习笔记(四)相关推荐

  1. Springboot学习笔记(四)SpringSecurity.Shiro

    前言: 学习B站UP主狂神说视频笔记整理视频链接 SpringSecurity 安全简介 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架.它实际上是保护基于sprin ...

  2. springboot学习笔记(五)

    一丶注值方式 1.在application.properties文件中注值 首先我们将application.yml中的学生名字和年龄给注释掉,来验证在applic.properties的注值方式. ...

  3. SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理

    在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...

  4. SpringBoot(学习笔记)

    SpringBoot学习笔记 从今天开始就进入微服务阶段 一些小问题 1.HelloWorld 1.1回顾什么是Spring 1.2什么是SpringBoot 1.3微服务架构 2.第一个Spring ...

  5. 【Springboot学习笔记】SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法

    [Springboot学习笔记]SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法 目录 1.搭建环境 1.1直接从网上下载SpringB ...

  6. SpringBoot 学习笔记

    SpringBoot 学习笔记 文章目录 SpringBoot 学习笔记 1. SpringBoot简介 1.1 什么是Spring 1.2 Spring 是如何简化Java开发的 1.3 什么是 S ...

  7. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  8. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  9. RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)

    RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...

  10. springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题

    springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题 参考文章: (1)springboot学习笔记:12.解决springboot打成可执行jar在 ...

最新文章

  1. MVVM框架下,WPF实现Datagrid里的全选和选择
  2. 【跃迁之路】【597天】程序员高效学习方法论探索系列(实验阶段354-2018.09.25)...
  3. php中pre标签,html中pre标签与code标签的作用与用法
  4. FileInputStream与FileOutputStream 复制文件例子代码
  5. 浏览器缓存原理以及本地存储
  6. 安卓手机刷软路由_华为路由AX3 Pro上手测评:用过最方便的路由器,没有之一...
  7. 高质量linux c编程指南,《linux c编程指南》学习手记5
  8. Lady Gaga Feat. Colby O'Donis - Just Dance
  9. 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8000401a 因为配置标识不正确,系统无法开
  10. PDF解密工具—Cisdem PDF Password Remover
  11. cpu排行计算机专业,2020最新电脑cpu性能天梯图 i5i7i9处理器性能排行榜介绍
  12. 【Lesson 1】 和弦 Chord
  13. 打开excel 自动启动宏_Excel启动时自动打开不需要的文件
  14. Wilson定理推论
  15. Mybatis 查询总数
  16. C语言: 字符串 -2
  17. 【测绘专用】中海达全站仪数据导入南方CASS
  18. DC-DC非隔离电源PCB布局
  19. 2021-06-19, OV9281规格书和初始代码
  20. 浙江大数据交易中心启航,首日成交4笔

热门文章

  1. springnbsp;security总结nbsp;太有用了!!
  2. HDOJ 2176 取石子游戏
  3. ID3DXMesh的数据导出和导入
  4. C++中了类继承和调用父类的构造函数方法
  5. typedef的用法
  6. 【Matlab】如何把数组矩阵写入txt文件?并用逗号或空格隔开
  7. [云炬创业管理笔记]第九章为创业成败而准备测试5
  8. [云炬创业基础笔记]第一章创业环境测试1
  9. USTC English Club Note20171021
  10. ustc小道消息20211223