springboot属性配置

  • SpringBoot提供了多种属性配置方式

①application. properties:默认配置文件,通过通过键值对配置对应属性。
application. yml:主流使用
application. yaml:
  • 例如,修改服务器端口号

现在访问的是服务器的端口8080,有点麻烦,可以用80端口代替,就不用写端口号了。

  • 现在用的是内嵌的tomcat,那怎么配置呢?

通过springboot默认配置文件进行修改tomcat端口号。
#服务器端口配置
server.port=80
  • springboot内置属性查询

进入spring官网,springboot点击帮助文件,进行查询。
1. SpringBoot中导入对应starter后,提供对应配置属性。
2.书写SpringBoot配置采用关键字+提示形式书写
  • SpringBoot配置文件加载顺序

application. properties > application. yml > application. yaml
不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留。
  • yaml语法规格:属性名冒号后面与数据之间有一个空格

yaml读取

使用@Value读取单个数据

  • 属性名引用方式:${一级属性名.二级属性名……}

  • 总结

1. 使用@Value配合SpEL读取单个数据 。
2. 如果数据存在多层级,依次书写层级名称即可。

变量引用

在配置文件中可以使用属性名引用方式引用属性。

属性值中如果出现转移字符,需要使用双引号包裹。

读取全部属性数据

  • 封装全部数据到Environment对象。


//使用自动装配将所有的数据封装到一个对象Environment中
    @Autowired
    //    封装全部数据
    private Environment environment;

    @GetMapping
    public String getId(){
        System.out.println(""+environment.getProperty("user.username"));
        System.out.println(""+environment.getProperty("likes.[1]"));

        return "hello springboot";
    }
}
  • 总结:

1. 使用Environment对象封装全部配置信息。
2. 使用@Autowired自动装配数据到Environment对象中。
  • 注意:

用起来并不方便,还得记得属性名,所以读取的时候最好别一次性读完封装到一个对象中,只读取一部分,变成想要的对象,封装数据,应该针对性封装一部分,那怎么进行封装呢?

读取yaml引用类型属性数据(封装局部数据 常用)

  • 思路:

封装局部数据,首先提供数据(对象格式),提供用来封装模型类,
这个类就用来封装定义数据中的某一部分,而模型类和某一部分的数据通过@ConfigurationProperties()注解指定封装的那一组数据,把前缀告诉封装类。
  • springboot的配置文件

  • 封装属性数据类

// 1. 定义数据模型封装yaml文件中对应的数据
@Component    // 2. 定义为spring管控的bean(交给spring ioc管理)
//3. 指定加载的数据
@ConfigurationProperties(prefix = "datasource")
public class MyDataSource {
//    属性名要和yaml文件属性一致
    private String driver;
    private String  url;
    private String username;
    private String password;
  ....
  }
}
  • 控制层获取输出数据

  • 总结

1.使用@ConfigurationProperties注解绑定配置信息到封装类中。
2. 封装类需要定义为Spring管理的bean,否则无法进行属性注入。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值