SpringBooot@ConfigurationProperties与@Value

本文详细介绍了Spring Boot中@ConfigurationProperties和@Value的使用。@ConfigurationProperties用于将YAML或properties配置文件中的数据绑定到Java Bean,通过prefix属性指定对象名称。而@Value则直接用于在Java Bean中注入配置文件的值,支持EL表达式。文章通过实例演示了两种方式在不同场景下的应用。
摘要由CSDN通过智能技术生成

@ConfigurationProperties

   1.Spring Initializer快速创建Spring Boot项目

      src/main/java----保存java源代码

      src/main/resources

         application.properties-------Spring Boot应用的配置文件

         [static]---需要自己手动创建【保存web应用程序所需的静态资源{html、css、js、img}】

         [templates]--需要自己手动创建【保存模板页面】

         Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面; 可以使用模板引擎freemarker、thymeleaf;

      依赖@SpringBootApplication注解中包含的@EnableAutoConfiguration,SpringBoot项目会创建出自动的默认配置数据,以保证SpringBoot项目在创建成功以后,没有进行任何编程操作的情况下就可以正常运行起来。

      在不同环境下SpringBoot项目所使用的自动配置的默认数据值就需要随着环境的变化而被修改,我们在修改的时候不能修改源码,而且源码也无法修改,基于这个情况,SpringBoot项目对外提供了一个可以用来修改自动配置的默认数据值的文件,这个文件就是src/main/resources/application.properties文件。

   application.properties文件SpringBoot的核心配置文件

      作用:修改自动配置的默认数据值的文件

      名称:application.properties   /    application.yml

      application.properties /application.yml就是同一个配置文件,后缀名的不同,表示这个文件中内容的书写风格不同。

      例如:配置数据库驱动名称

         application.properties

         spring.datasource.driver-class-name=com.mysql.jdbc.Driver

         application.yml

         spring:
           datasource:
             driver-class-name: com.mysql.jdbc.Driver

YAML(YAML Ain't Markup Language

   YAML A Markup Language:是一个标记语言

   说起标记语言我们会想到html/xml,它们都是标记语言。

   Html【超文本标记语言】---- 默认提供好了标记  例如:<table></table>

   Xml【可扩展的标记语言】-- 自己手动创建标记  例如:<student></student>

   例如

Xml:配置例子

<server> 
<port>8081</port> 
</server>

YAML:配置例子

   server:

      Port:8081

   YAML isn't Markup Language:不是一个标记语言;是因为它以数据为中心的

YAML语法格式:

   1、基本语法

   键:(空格)值:表示一对键值对(空格必须有);

   以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的。

   例如:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test
  jdbc:
    template:
      query-timeout: 1000
server:
  port: 9090

   2、属性值的写法

   属性值---键值对的键所对应的值

   在上面的例子中url/port都是属性,实际都是xxxxxProperties类的成员变量。“jdbc:mysql://127.0.0.1:3306/test 、9090”就是属性值。

   由于yml文件的属性,实际都是xxxxxProperties类的成员变量,成员变量都是有固定的数据类型,所以属性的值不能随便写,得符合成员变量对应的数据类型。

      1.普通的值(数字,字符串,布尔)

         1.1数字--数字值

         1.2布尔--true/false

         1.3字符串

      默认不用加上单引号或者双引号;

      如果有””[双引号],字符串中的转义字符会执行【\n---换行】

      例如:name: “zhangsan\nlisi”

      结果:

         zhangsan \n---换行

         lisi

      如果有’’[单引号],字符串中的转义字符不会执行,会作为一个字符直接使用【\n--\n】

      例如:name: ‘zhangsan\nlisi’

      结果:zhangsan\nlisi

      2.对象

         2.1对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值