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

想建设一个网站/优化网站

想建设一个网站,优化网站,店标logo设计,黄骅市属于哪个省哪个市目录 一、简单认识YAML 二、YAML语法格式 三、环境配置文件 四、自定义配置 一、简单认识YAML SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用 application.properties或者applicat…

目录

一、简单认识YAML

二、YAML语法格式

三、环境配置文件

四、自定义配置


一、简单认识YAML

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用
application.properties或者application.yml(application.yaml)进行配置。SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件。其中,application.properties文件是键值对类型的文件,之前一直在使用,所以此处不在对properties文件的格式进行描述。除了properties文件外,SpringBoot还可以使用yml文件进行配置,下面对yml文件进行讲解。

YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。

二、YAML语法格式

  • 标准格式:key:(空格)value
  • 使用空格代表层级关系,以“:”结束

我们以之前学习过的application.properties文件为例进行修改该文件:

#设置运行时为debug模式
#debug=false
debug: false#修改tomcat的默认端口为8080
#server.port=8080
#server.servlet.cotext-path=/myspringboot
server:port: 8080servlet:context-path: /
#idea对yml有良好支持,可自动生成
#spring.http.encoding.charset=UTF-8
#spring.mvc.date-format=yyyy-MM-dd
spring:http:encoding:charset: UTF-8mvc:date-format: yyyy-MM-dd

三、环境配置文件

  • 在实际的项目的过程中,有些配置文件在开发、测试或者生产等不同的环境中可能是不同的,比如说数据库连接等。
  • Spring给我们提供了profiles机制,Spring Boot针对不同的环境提供了不同的Profiles文件。
  • Profiles文件的默认命名格式为application-{env}.yml
  • 使用spring.profiles.actives选项来指定不同的profiles

例如:

application-dev.properties — 这是开发环境

application-prod.properties — 这是生产环境

当我们同时创建了application.properties、application-dev.properties、application-prod.properties三个文件,

例如:修改三个文件中server.port的配置,即端口号的配置,经过测试,application-dev.properties中的配置覆盖了application.propertie中的配置。所以呢,我们在配置文件中可以将于环境无关的配置属性放到application.properties文件中,然后根据环境的变化,将不同的属性配置放到相应配置文件中去。

四、自定义配置

Spring Boot内置的配置项远远不能支持我们的程序运行,在项目设计的时候,往往因为扩展性的需要,项目需要预留很多的自定义配置,Spring Boot允许我们配置自定义选项。

在SpringBoot中,有两仲方式使用自定义选项:

  • @Value单个属性注入
  • @ConfigurationProperties类型安全加载

新建一个自定义的properties文件config.properties文件,进行编写自定义的属性。在编写自定义属性之前,我们先需要修改一下idea的设置,因为properties文件对中文的可读性性是非常不好的,打开设置进行如下的勾选;

举例:

1、@Value单个属性的注入:

在MyController类中进行如下编写:

@Value("${app.name}")
private  String name;
@Value("${app.page-size}")
private  Integer pageSize;

2、@ConfigurationProperties类型安全加载

编写一个AppConfig类:

@Component//这是一个组件类,写上这个注解,启动时会自动加载
//将所有app前缀的属性自动赋值给对应的bean属性
@ConfigurationProperties(prefix="app")
public class AppConfig {private String  name ;private String description;private String version;private Integer pageSize;private Boolean showAdvert;private String website;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public String getVersion() {return version;}public void setVersion(String version) {this.version = version;}public Integer getPageSize() {return pageSize;}public void setPageSize(Integer pageSize) {this.pageSize = pageSize;}public Boolean getShowAdvert() {return showAdvert;}public void setShowAdvert(Boolean showAdvert) {this.showAdvert = showAdvert;}public String getWebsite() {return website;}public void setWebsite(String website) {this.website = website;}

在MyController类中进行如下编写:

//动态注入IOC容器中匹配的bean
@Autowired
private AppConfig appConfig;

启动入口类即可获取到config.properties文件中所写到的所有属性。

http://www.lbrq.cn/news/1541917.html

相关文章:

  • 网站建设过程中的收获/网络营销推广及优化方案
  • 网站排名有什么用/岳阳网站建设推广
  • 级a做爰片免费视网站看看/阿里seo排名优化软件
  • lnmp怎么做网站/代写平台在哪找
  • PHP做的哪些大型网站/互联网广告是做什么的
  • 广州海珠区有什么大学/合肥seo外包平台
  • 网站推广被封域名如何做跳转/网站信息
  • 购物网站的建设费用/手机怎么创建网站
  • 轴承外贸平台哪个网站最好/广州官方新闻
  • 企业网站优化与推广/站长推荐产品
  • 云南网站建设费用/公司推广策划
  • 阿里云 域名 做网站/沈阳关键词seo
  • 大型网站建设公司制作网站/做一个简单的网站需要多少钱
  • vs2017js网站开发方法/新媒体营销成功案例
  • 如何做kindle电子书下载网站/最近一周新闻热点回顾
  • 海兴县网站建设公司/直通车怎么开效果最佳
  • 做网站买流量/seo搜索引擎优化工资
  • 中国日报网英文官方网站建设/北京发生大事了
  • 网站建设 广西/网站推广优化方法
  • 做网站需要的条件/江西seo推广方案
  • 靠谱做网站/电商网站定制开发
  • 投票小程序/seo关键词优化要多少钱
  • 外包建站的公司怎么做seo/公司在百度怎么推广
  • 做那种网站赚钱/产品推销
  • 如何做阿里巴巴网站/引擎优化seo怎么做
  • 网站为什么没有排名了/网站联盟营销
  • 灰色网站怎么做seo/b2b平台有哪些
  • 网站开发群/首页优化公司
  • 房产信息查询平台/seol英文啥意思
  • 医院为什么要做门户网站建设/外链推广论坛
  • 使用RealSense相机和YOLO进行实时目标检测
  • FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持
  • Linux操作系统编程——进程间的通信
  • STM32学习笔记14-I2C硬件控制
  • 【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
  • 负载测试与压力测试详解