激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 詳解Spring-boot中讀取config配置文件的兩種方式

詳解Spring-boot中讀取config配置文件的兩種方式

2021-01-17 14:34日出東方VS唯我不敗 Java教程

這篇文章主要介紹了詳解Spring-boot中讀取config配置文件的兩種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

了解過spring-Boot這個(gè)技術(shù)的,應(yīng)該知道Spring-Boot的核心配置文件application.properties,當(dāng)然也可以通過注解自定義配置文件的信息。

Spring-Boot讀取配置文件的方式:

一.讀取核心配置文件信息application.properties的內(nèi)容

核心配置文件是指在resources根目錄下的application.properties或application.yml配置文件,讀取這兩個(gè)配置文件的方法有兩種,都比較簡單。

核心配置文件application.properties內(nèi)容如下:

?
1
test.msg=Hello World SpringBoot

方式一:使用@Value方式(常用)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package Solin.controller;
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class WebController {
  @Value("${test.msg}")
  private String msg;
   
  @RequestMapping("/index1"
  public String index1(){
    return "方式一:"+msg;
  }
}

注意:在@Value的${}中包含的是核心配置文件中的鍵名。在Controller類上加@RestController表示將此類中的所有視圖都以JSON方式顯示,類似于在視圖方法上加@ResponseBody。

訪問:http://localhost:8088/index1時(shí)得到:"方式一:Hello World SpringBoot"

方式二:使用Environment方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package Solin.controller;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class WebController {
  @Autowired
  private Environment env;
   
  @RequestMapping("/index2"
  public String index2(){
    return "方式二:"+env.getProperty("test.msg");
  }
}

注意:這種方式是依賴注入Evnironment來完成,在創(chuàng)建的成員變量private Environment env上加上@Autowired注解即可完成依賴注入,然后使用env.getProperty("鍵名")即可讀取出對(duì)應(yīng)的值。

訪問:http://localhost:8088/index2時(shí)得到:"方式二:Hello World SpringBoot"

二.讀取自定義配置文件信息,例如:author.properties

為了不破壞核心文件的原生態(tài),但又需要有自定義的配置信息存在,一般情況下會(huì)選擇自定義配置文件來放這些自定義信息,這里在resources目錄下創(chuàng)建配置文件author.properties

resources/author.properties內(nèi)容如下:

?
1
2
author.name=Solin
author.age=22

創(chuàng)建管理配置的實(shí)體類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package Solin.controller;
 
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
 
//加上注釋@Component,可以直接在其他地方使用@Autowired來創(chuàng)建其實(shí)例對(duì)象
@Component
@ConfigurationProperties(prefix = "author",locations = "classpath:author.properties")  
public class MyWebConfig{
  private String name;
  private int age;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
}

注意:

在@ConfigurationProperties注釋中有兩個(gè)屬性:

  1. locations:指定配置文件的所在位置
  2. prefix:指定配置文件中鍵名稱的前綴(我這里配置文件中所有鍵名都是以author.開頭)

使用@Component是讓該類能夠在其他地方被依賴使用,即使用@Autowired注釋來創(chuàng)建實(shí)例。

創(chuàng)建測試Controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package Solin.controller;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
@Controller
public class ConfigController {
  @Autowired
  private MyWebConfig conf;
   
  @RequestMapping("/test"
  public @ResponseBody String test() {
    return "Name:"+conf.getName()+"---"+"Age:"+conf.getAge(); 
  }
}

注意:由于在Conf類上加了注釋@Component,所以可以直接在這里使用@Autowired來創(chuàng)建其實(shí)例對(duì)象。

訪問:http://localhost:8088/test時(shí)得到:"Name:Solin---Age:22"

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/qq_32786873/article/details/52840745

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美aaaaaaaa | 成年人黄色片视频 | 日本免费一区二区三区四区 | 国产精品中文在线 | 国产噜噜噜噜噜久久久久久久久 | 特级无码毛片免费视频尤物 | 天天透天天狠天天爱综合97 | 亚州综合一区 | 色无极影院亚洲 | 国产精品99久久久久久久vr | 亚洲精品久久久久www | 玩偶姐姐 在线观看 | 特级黄aaaaaaaaa毛片 | 成人一级视频在线观看 | 久久影院yy6080 | 国产91免费看 | 亚洲影视在线观看 | hdhdhd69ⅹxxx黑人 | 在线成人一区 | 免费观看一区 | 在线播放中文 | 永久免费不卡在线观看黄网站 | 欧美日韩在线视频一区 | 中文字幕网在线 | 毛片国产| 久久av电影院 | 羞羞色在线观看 | 日韩深夜视频 | 中国黄色一级生活片 | 亚洲一区二区免费 | hd日本xxxx| 精品国产久 | 激情小说激情图片激情电影 | chinese中国真实乱对白 | 99re热视频这里只精品 | 在线天堂中文在线资源网 | 最新久久免费视频 | 视频久久免费 | 视频一区二区久久 | 久久久人人爽 | 欧美成人一区二区三区 |