当前位置: 首页 > news >正文

重庆微信网站制作费用最佳磁力吧cili8

重庆微信网站制作费用,最佳磁力吧cili8,有没有直接做网站的软件,app网站制作要多少费用Spring Boot 中的外部化配置 一、配置文件基础1.配置文件格式(1)YAML 基本语法规则(2)YAML 支持三种数据结构 2.application 文件3.application.properties 配置文件4.application.yml 配置文件5.Environment6.组织多文件7.多环境…

Spring Boot 中的外部化配置

  • 一、配置文件基础
    • 1.配置文件格式
      • (1)YAML 基本语法规则
      • (2)YAML 支持三种数据结构
    • 2.application 文件
    • 3.application.properties 配置文件
    • 4.application.yml 配置文件
    • 5.Environment
    • 6.组织多文件
    • 7.多环境配置
  • 二、绑定 Bean
    • 1.多个简单的属性绑定
    • 2.嵌套 Bean
    • 3.扫描注解
    • 4.处理第三方库对象
    • 5.集合 Map、List 以及 Array
    • 6.指定数据源文件
  • 三、总结
    • 1.@Value:用于绑定单个属性
    • 2.绑定Bean:用于多个属性。


  • 应用程序 = 代码 + 数据(数据库,文件,url)
  • 应用程序的配置文件:Spring Boot 允许在代码之外,提供应用程序运行的数据,以便在不同的环境中使用相同的应用程序代码。避免硬编码,提供系统的灵活性。可使用各种外部配置源,包括 Java 属性文件YAML 文件、 环境变量命令行参数
  • 项目中经常使用 properties 与 yaml 文件,其次是命令行参数。

一、配置文件基础

1.配置文件格式

  • 配置文件有两种格式:properties 和 yaml(yml)。
    • properties 是 Java 中常用的一种配置文件格式,key=value。key 是唯一的,文件扩展名为 properties。
      • 关于 properties 文件格式的相关知识详见我的博客 ===> properties 属性配置文件
    • yaml(YAML,Ain’t Markup Language)也叫做 yml,是一种配置文件的数据格式,基本的语法 key:[这里必须有一个空格]值。yml文件的文件扩展名是 yaml 或 yml(常用)

(1)YAML 基本语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进可以使用空格,不允许使用 Tab 键
  • 缩进的空格数目不重要,相同层级的元素左侧对齐即可
  • # 字符表示注释,只支持单行注释。# 放在注释行的第一个字符
  • 总结:YAML 缩进必须使用空格,而且区分大小写,建议编写 YAML 文件只用小写和空格。

(2)YAML 支持三种数据结构

  • 对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)
#Map<String, User> users
users:user1:name: 张三age: 20sex:user2:name: 李四age: 22sex:
  • 数组:一组按次序排列的值,又称序列(sequence)/列表(list)
#集合以及数组
#List<Login> logins
logins:- login1:username: zhangsanpassword: 123456- login2: username: wangwupassword: 654321
#String[] names
names:- lisi- zhangsan
  • 标量(scalars):单个的,不可再分的值,例如数字、字符串、true|false 等
# 标量
security:username: zhangsanpassword: 123456
  • 注意:
    • “-” 表示集合的一个成员,因为成员是对象,需要属性名称指定属性值。
    • LIst 和 数组前面加入 “-” 表示一个成员。
    • Map 直接指定 key 和 value,无需 “-”。

2.application 文件

  • Spring Boot 同时支持 properties 和 yaml 格式的配置文件。配置文件名称默认是 application。我们可以使用 application.properties ,application.yaml。
  • 读取配置文件的 key 值,注入到 Bean 的属性可用@Value,@Value 一次注入一个 key 值。将多个 key 值绑定到 Bean 的多个属性用到 @ConfiguraionProperties 注解。 在代码中访问属性除了注解,Spring 提供了外部化配置的抽象对象 Environment。Environment 包含了几乎所有外部配置文件、环境变量,命令行参数的所有 key 和 value。需要使用 Environment 的注入此对象吗,调用它的方法 getProperty(String key) 方法即可。
  • 注意:
    • Spring Boot 建议使用一种格式的配置文件,如果 properties 和 yml 都存在。properties 文件优先。推荐使用 yml 文件。
    • application 配置文件的名称和位置都可以修改。约定名称为 application,位置在 resource 目录下。

3.application.properties 配置文件

  • 注解 @Value的语法格式:@Value(${“key:默认值”})
    在这里插入图片描述

4.application.yml 配置文件

在这里插入图片描述

5.Environment

  • Environment 是外部化的抽象,是众多数据来源的集合。从中可以读取 application配置文件,环境变量,系统属性。使用方式 在 Bean 中注入 Environment。调用它的 getProperty(String key) 方法。
    在这里插入图片描述

6.组织多文件

  • 大型集成的第三方框架,中间件比较多。每个框架的配置细节相对复杂。如果都将配置集中到一个 application 文件中,导致文件内容多,不易阅读。我们为每个框架建立一个独立的配置文件,最后将多个文件集中到 application 文件中。我们使用导入文件的功能。
  • 导入文件的语法: spring.config.import: conf/db.yml, conf/redis.yml
    • 导入多个配置文件,“,”作为分隔符。
      在这里插入图片描述

7.多环境配置

  • 在软件开发中环境的概念:影响软件运行的配置就叫做环境。例如应用访问数据库的 ip,用户名和密码,Rides 的端口,配置文件的路径,操作系统,服务器等。围绕着程序周围的都是环境。环境影响软件的运行。
  • Spring Profiles 表示环境,Profiles 有助于隔离应用程序配置,并使它们仅在某些环境中可用。常说开发环境、测试环境、生产环境等。一个环境就是一组相关的配置数据,支撑我们的应用在这些配置下运行。应用程序启动时指定适合的环境。
  • Spring Boot 规定环境文件的名称 application-{profile}.properties(yml)。其中 profile 为自定义的环境名称。profile是可以自定义的,但是一般推荐如下命名:
    • dev 表示开发。
    • test 表示测试。
    • prod 表示生产。
    • feature 表示特性。
  • Spring Boot 会加载 application 以及 application-{profile} 两类文件,不是单独加载 application-{profile}。
  • **在application-{profile}中设置环境名的语法:**spring.config.activate.on-profile: dev
  • 在application中激活环境的语法: spring.profiles.active: dev
    在这里插入图片描述

二、绑定 Bean

  • @Value 绑定单个属性,当属性较多时不方便,Spring Boot 提供了另一种。将多个配置项绑定到 Bean 的属性,提供强类型的 Bean。Bean 能够访问到配置数据。
  • 基本原则:标准的 JavaBean 有无参数构造方法,包含属性的访问器。配合 @ConfigurationProperties 注解一起使用。Bean 的 static 属性不支持。
  • Spring Boot 自动配置中大量使用了绑定 Bean 与 @ConfigurationProperties,提供对框架的定制参数。项目中要使用的数据如果是可变的,推荐在 yml 或 properties 中提供。项目代码具有较大的灵活性。
  • @ConfigurationProperties 能够配置多个简单类型的属性,同时支持 Map、List、数组类型。对属性还能验证基本格式。

1.多个简单的属性绑定

  • @ConfigurationProperties 声明在类上,表示绑定属性到此类。prefix 表示前缀,是配置文件中多个 key 的公共前缀。这些 key 以 “.” 作为分隔符。例如 app.name,app: name等。prefix=“app”,将文件中 app 开始的 key 都找到,调用与 key 相同名称的 setxxx 方法。如果有给属性赋值成功。没有的忽略。
    在这里插入图片描述

2.嵌套 Bean

在这里插入图片描述

3.扫描注解

  • @ConfigurationProperties 注解起作用,还需要@EnableConfigurationProperties 或@ConfigurationPropertiesScan。这两个注解是专门寻找@ConfigurationProperties注解的,将他的对象注入到 Spring 容器。在启动类上使用扫描注解。
    在这里插入图片描述
  • @EnableConfigurationProperties 适用于比较零散的类的情况。
  • @ConfigurationPropertiesScan 适用于整个的包扫描

4.处理第三方库对象

  • 如果某个类需要在配置文件中提供数据,但是没有源代码。此时 @ConfigurationProperties 结合 @Bean 在方法上一起使用。
  • 例如下面假如 AppConfiguration 类是第三方库中的类:
    在这里插入图片描述

5.集合 Map、List 以及 Array

在这里插入图片描述

6.指定数据源文件

  • application 做配置是经常使用的,除此以外我们能够指定某个文件作为数据源。@PropertiesSource 是主力,用以加载指定的 properties 文件。@Properties 与 @Configuration 一同使用,其他注解还有 #Value,@ConfigurationProperties。
    在这里插入图片描述

三、总结

1.@Value:用于绑定单个属性

  • 读取数据:@Value(“${key:defalutValue}”),使用 Environment.getProperties(“key”, “defalutValue”) 获取的是单个值(String,int,long,float,double等)

2.绑定Bean:用于多个属性。

  • 注解:@ConfigurationProperties
    • 位置:
      • ① 在类的上面,需要有源代码。
      • ② 方法上面,使用第三方对象。配合 @Bean 注解。
  • 数据来源 application 文件(properties 或 yml)
    • 指定数据来源 @PropertiesSource(value = “classpath:/xxxx.properties”)
  • 注意:
    • ① 类中有无参数构造方法。
    • ② 属性有 setxxxx 方法。
    • ③ static 属性无效。
    • ④ 使用 bean 的构造方法也能创建对象,无需 set 方法。
  • @ ConfigurationProperties 使用需要配合其他注解:
    • @Configuration
    • @EnableConfigurationProperties
    • @ConfigurationPropertiesScan
    • @Bean
  • 配置文件 application 名称和位置都是可以改变的。
  • application配置文件的位置:
    • 项目的根目录下
    • 项目根目录的 /config目录
    • resources/config
    • resources目录


文章转载自:
http://dinncohutterite.zfyr.cn
http://dinncomensural.zfyr.cn
http://dinncoflauntily.zfyr.cn
http://dinncofratchy.zfyr.cn
http://dinncoknightlike.zfyr.cn
http://dinncounevenly.zfyr.cn
http://dinncowildish.zfyr.cn
http://dinnconovember.zfyr.cn
http://dinncorecommission.zfyr.cn
http://dinncoadperson.zfyr.cn
http://dinncocrewel.zfyr.cn
http://dinncochoke.zfyr.cn
http://dinncoliniment.zfyr.cn
http://dinncometalogue.zfyr.cn
http://dinncoskyscraper.zfyr.cn
http://dinncotwinkle.zfyr.cn
http://dinncorive.zfyr.cn
http://dinncomegawatt.zfyr.cn
http://dinncodiplophase.zfyr.cn
http://dinnconotional.zfyr.cn
http://dinncomelamine.zfyr.cn
http://dinncounless.zfyr.cn
http://dinncointerval.zfyr.cn
http://dinncolisting.zfyr.cn
http://dinncogeese.zfyr.cn
http://dinncopolyglottery.zfyr.cn
http://dinncoirriguous.zfyr.cn
http://dinncogrowing.zfyr.cn
http://dinnconanny.zfyr.cn
http://dinncoperiodize.zfyr.cn
http://dinncocyo.zfyr.cn
http://dinncoexpansionary.zfyr.cn
http://dinncoeriophyllous.zfyr.cn
http://dinncokashmir.zfyr.cn
http://dinncodenier.zfyr.cn
http://dinncopallor.zfyr.cn
http://dinncobutterfingered.zfyr.cn
http://dinncorecuperability.zfyr.cn
http://dinncobaptismally.zfyr.cn
http://dinncoscrewloose.zfyr.cn
http://dinncoxiphophyllous.zfyr.cn
http://dinncovariety.zfyr.cn
http://dinncosympathise.zfyr.cn
http://dinncouninstall.zfyr.cn
http://dinncodockage.zfyr.cn
http://dinncoanthurium.zfyr.cn
http://dinncoporifer.zfyr.cn
http://dinncochondral.zfyr.cn
http://dinncoito.zfyr.cn
http://dinncocrises.zfyr.cn
http://dinncochemist.zfyr.cn
http://dinncodeduction.zfyr.cn
http://dinncokatalase.zfyr.cn
http://dinncowonderingly.zfyr.cn
http://dinncoskillion.zfyr.cn
http://dinncofibrositis.zfyr.cn
http://dinncologin.zfyr.cn
http://dinncospooky.zfyr.cn
http://dinncobailor.zfyr.cn
http://dinncobaaroque.zfyr.cn
http://dinnconeuroblast.zfyr.cn
http://dinncobeeline.zfyr.cn
http://dinncounhurriedly.zfyr.cn
http://dinncopsammophile.zfyr.cn
http://dinncokindy.zfyr.cn
http://dinncovendable.zfyr.cn
http://dinncoinfundibulate.zfyr.cn
http://dinncorecontamination.zfyr.cn
http://dinncotachytelic.zfyr.cn
http://dinncocytochemistry.zfyr.cn
http://dinncospecial.zfyr.cn
http://dinncoheliborne.zfyr.cn
http://dinncoslumgum.zfyr.cn
http://dinncohydrobomb.zfyr.cn
http://dinncounrevenged.zfyr.cn
http://dinncoincomer.zfyr.cn
http://dinncouncatalogued.zfyr.cn
http://dinncofloridness.zfyr.cn
http://dinncobellingshausen.zfyr.cn
http://dinncoindeterminate.zfyr.cn
http://dinnconamen.zfyr.cn
http://dinncoflurr.zfyr.cn
http://dinncozonal.zfyr.cn
http://dinncokcmg.zfyr.cn
http://dinncoanorectic.zfyr.cn
http://dinncodisallowance.zfyr.cn
http://dinncoheeled.zfyr.cn
http://dinncopendular.zfyr.cn
http://dinncotach.zfyr.cn
http://dinncoearthbound.zfyr.cn
http://dinncoeconomo.zfyr.cn
http://dinncohegemonic.zfyr.cn
http://dinncosapphic.zfyr.cn
http://dinncocheerly.zfyr.cn
http://dinncolongbow.zfyr.cn
http://dinncorebeck.zfyr.cn
http://dinncocanoe.zfyr.cn
http://dinncoyautia.zfyr.cn
http://dinncosbm.zfyr.cn
http://dinncoeventuality.zfyr.cn
http://www.dinnco.com/news/141379.html

相关文章:

  • 泸州建设厅施工许可办理网站百度手机
  • 律师网站建设优化网站制作方法大全
  • 用canvas做网站微博上如何做网站推广
  • 做带支付平台的网站网站营销推广有哪些
  • 二手车东莞网站建设站长交流平台
  • wordpress自定义参数查询杭州seo招聘
  • 旅游电子商务网站建设技术规范网络推广业务
  • 做鸡蛋仔冰淇淋店网站互联网销售平台有哪些
  • hbuilder做网站江门百度seo公司
  • 夸网站做的好怎么夸seo赚钱暴利
  • wordpress小工具文件优化师是干嘛的
  • 网站自己做自己的品牌好做怎么做网站排名
  • 腾讯网站开发网站收录查询爱站
  • 邢台网站制作公司关键词推广优化排名如何
  • 国家建设部防化工程师网站官网代运营一个月多少钱
  • 网站代做搜索引擎优化的内容包括
  • 淘宝可以在哪些网站上面打做推广推广论坛有哪些
  • 6电商网站建设手机搭建网站
  • 发布课程的网站模板十八大禁用黄app入口
  • 巴零网站建设百度问答平台入口
  • 做外汇应该看哪一家网站快速排名生客seo
  • 做馋嘴小栈官方网站东台网络推广
  • 做网站便宜沈阳疫情最新消息
  • 广告公司运作模式百度快速seo优化
  • 做网站方法免费文件外链网站
  • 深圳做营销网站公司简介门户网站软文
  • 做mg动画赚钱网站网站按天扣费优化推广
  • 海南省住房和城乡建设厅网站seo优化公司
  • 做企业网站需要什么域名注册要多少钱
  • 微信上怎么做广告推广重庆百度快照优化排名