久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SpringBoot之兩種配置文件properties與yml文件的區(qū)別及讀取方式

 wwq圖書世界 2021-06-21

為什么會使用properties文件

在軟件開發(fā)的過程中,,會經常遇到一些配置說是需要切換的,例如數據庫的配置地址,,用戶名和密碼,可以選擇在常量中進行配置,,但是當下次需要修改時,,則需要將Java代碼進行重新編譯,再重啟服務器,。這樣導致很繁瑣,。properties文件的出現使得后期項目的維護中,修改配置時會變得很簡單,。

yml后綴的又是什么文件

百度百科:YML文件格式是YAML (YAML Aint Markup Language)編寫的文件格式,,YAML是一種直觀的能夠被電腦識別的的數據數據序列化格式,并且容易被人類閱讀,,容易和腳本語言交互的,,可以被支持YAML庫的不同的編程語言程序導入,比如:C/C++, Ruby, Python, Java, Perl, C#, PHP等,,它是類似于標準通用標記語言的子集XML的數據描述語言,,語法比XML簡單很多。

SpringBoot啟動加載配置文件機制

SpringBoot啟動時,,會默認去尋找開發(fā)人員配置的application.properties文件或者application.yml文件來讀取配置,,其實yml和properties文件是一樣的原理,且一個項目上要么yml或者properties,,二選一的存在,。

1.application.properties的配置方式,類似鍵值對的存在

#數據庫連接池配置spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.platform=mysql#配置數據源spring.datasource.url=jdbc:mysql://localhost:3306/yangspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver#Mybatis配置#掃描的實體的包mybatis.typeAliasesPackage=com.yang.bean#掃描的配置文件地址mybatis.mapperLocations=classpath:mapper/*.xmlmybatis.configLocation=classpath:mybatis-config.xmlserver.port=8088#自定義信息userInfo.name=yanguserInfo.pass=123456

2.application.yml的配置方式如下,,每一個等級占一行,,子級別與父級別多一個tab,以此類推,,每一個最終節(jié)點,,配置信息時,,冒號后面需要加空格,值得注意的是,,一個級別在一個配置文件中只能出現以一次,,如果出現多個,則SpringBoot啟動的時候就會報錯,,例如,,spring在全局中只能出現一次

#數據庫連接池配置spring:   datasource:      type: com.alibaba.druid.pool.DruidDataSource      platform: mysql      url: jdbc:mysql://localhost:3306/yang      #配置數據源      username: root      password: 123456      driver-class-name: com.mysql.jdbc.Driver
#Mybatis配置#掃描的實體的包#掃描的配置文件地址mybatis:   typeAliasesPackage:com.yang.bean   mapperLocations:classpath:mapper/*.xml   configLocationclasspath:mybatis-config.xml#服務啟動地址server:   port:8088#自定義信息userInfo:   name: yang   pass: 123456

properties文件的讀取方式

properties文件讀取不需要導入其他的jar包依賴,可以直接使用SpringBoot攜帶的注解即可

1.application.properties文件讀取某個文件到變量中方法(@Value注解方式),,編寫Controller接口,,直接讀取properties配置文件

package com.yang.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageInfo;import com.yang.bean.ResultObject;import com.yang.bean.User;import com.yang.service.IUserService;
/** * @author Java小白 * */@RestController //標識為返回類型為Json的控制器public class UserController {  @Value("${userInfo.name}")  private String name;  //自動注入服務類  @Autowired  private IUserService userService;  //標識請求地址    @RequestMapping("/propertieGetUserName")    public String propertieGetUserName() {        return name;    }
}

2.接口訪問結果如下

圖片

yml文件的讀取方式

1.application.yml文件讀取配置到某個對象中(@ConfigurationProperties注解方式),注意:對象名與配置文件中名字保持一致,,這個方法同樣適合properties文件

package com.yang.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;
/** * * 配置讀取文件的對象 * @author Java小白 * */@Component@ConfigurationProperties(prefix = "userInfo")// PropertySource默認取application.properties或者application.yml文件 可通過次注解指定其他文件// @PropertySource(value = "config.properties")public class UserInfo {  private String name;  private String pass;  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  public String getPass() {    return pass;  }  public void setPass(String pass) {    this.pass = pass;  }
}

2.編寫新的Controller接口,,用來訪問yml配置的信息

package com.yang.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageInfo;import com.yang.bean.ResultObject;import com.yang.bean.User;import com.yang.bean.UserInfo;import com.yang.service.IUserService;
/** * @author Java小白 * */@RestController //標識為返回類型為Json的控制器public class UserController {  @Autowired  private UserInfo userInfo;
 //標識請求地址    @RequestMapping("/ymlGetUserName")    public String ymlGetUserName() {         return userInfo.getName();    }
}

3.配置的yml訪問接口返回如下

圖片

總結

本文介紹了properties文件和yml文件兩種配置文件的讀取的方式,以及SpringBoot如何讀取文件中的配置信息,,歡迎技術交流 

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多