SpringBoot005

1.配置文件基本使用

使用.yml配置文件,在resources目录下新建application.yml文件

server:
  port: 8081 #修改端口号
  servlet:
    context-path: /lk  #端口号后需额外添加字符
#以上等同于application.properties的以下写法
#server.port=8081
#server.servlet.context-path=/zed

swagger:
  title: SpringBoot学习
  description: SpringBoot学习
  version: 1.0.0
  name: lk
  url: https://pallcard.github.io
  email: 1250585541@qq.com

  • 其中空格有严格的要求
2.切换配置文件

在resources目录下新建application-dev.yml文件,application-prod.yml文件

//文件目录
resources|-
         application.yml
         application-dev.yml
         application-prod.yml

其中application.yml来切换配置文件

spring:
  profiles:
    active: dev

激活文件选择

  • 使用上述application.yml来设置
  • 使用java -jar ***.jar --spring.profiles.active=dev;
  • IDEA中可以如下设置激活配置文件
3.配置文件使用
  • 单值注入 (.yml中值若用双引号,转义字符会转义)
//.yml中
person:
  name: zhangsan \n lisi
  name2: 'zhangsan \n lisi'
  name3: "zhangsan \n lisi"
  age: 18
  boss: false

//使用
    @Value("${person.name}")
    private String name;

    @Value("${person.name2}")
    private String name2;


    @Value("${person.name3}")
    private String name3;

    @Value("${person.age}")
    private String age;

    @Value("${person.boss}")
    private String boss;
  • 批量注入
//application.yml
student:
  name: lk
  age: 23
  boss: false
  birth: 1997/1/1
  maps: {k1: v1, k2: v2}
  lists:
  - 张三
  - 李四
  dog:
    name: 小黑
    age: 2
    
// pojo.Student
@ConfigurationProperties(prefix = "student")
@Component
@Data
public class Student {
    private String name;
    private Integer age;
    private Boolean boss;
    private Date birth;
    private Map<String, Object> maps;
    private List<String> lists;
    private Dog dog;
}
// pojo.Dog 
@Data
public class Dog {
    private String name;
    private Integer age;
}

//值注入
 @Autowired
 private Student student;

  • 将配置文件中配置的每一个属性的值,映射到这个组件中
  • @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
  • prefix = “person”:配置文件中哪个下面的所有属性进行一一映射
  • 只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能;
  • @Data是一个插件,免去了getter/setter和toString这些繁琐的东西
4.两种注入区别
@ConfigurationProperties@Value
功能批量注入配置文件中的属性一个个指定
松散绑定(松散语法)支持不支持
SpEL: #{}不支持支持
JSR303数据校验支持不支持
复杂类型封装支持不支持

松散语法绑定:last_name = last-name = lastName 他们取的值都是相同的

参考:https://zed058.cn

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值