一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

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

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

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

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

了解過spring-Boot這個技術的,應該知道Spring-Boot的核心配置文件application.properties,當然也可以通過注解自定義配置文件的信息。

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

一.讀取核心配置文件信息application.properties的內容

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

核心配置文件application.properties內容如下:

?
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時得到:"方式一: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來完成,在創建的成員變量private Environment env上加上@Autowired注解即可完成依賴注入,然后使用env.getProperty("鍵名")即可讀取出對應的值。

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

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

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

resources/author.properties內容如下:

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

創建管理配置的實體類:

?
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來創建其實例對象
@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注釋中有兩個屬性:

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

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

創建測試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來創建其實例對象。

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 嫩草视频在线观看免费 | aika跟黑人太猛了 | 美女1819xxxx | 久久天堂成人影院 | 91tv在线 | 四神集团1涨奶是第几章 | 国产成人啪精品视频站午夜 | 亚洲欧美在线观看一区二区 | 国产亚洲精品美女2020久久 | 青青草原国产在线 | 免费91麻豆精品国产自产在线观看 | 思思玖玖玖在线精品视频 | 99在线精品日韩一区免费国产 | 91精品综合久久久久m3u8 | 美女扒下内裤让男人桶的图片 | 久久精品观看影院2828 | 图片专区小说专区卡通动漫 | 紧缚束缚调教丨vk | 色老妇 | 国产一卡二卡3卡4卡四卡在线视频 | 色姑娘导航 | 男插女的下面免费视频夜色 | 欧美老肥妇bbb | 国产三级自拍 | 性夜影院爽黄A爽免费动漫 性色欲情网站IWWW九文堂 | 图片亚洲va欧美va国产综合 | 3d动漫免费| 亚洲精品视频专区 | aaa一级毛片免费 | 日韩理论片在线看免费观看 | 色老板在线观看 | 欧美a一片xxxx片与善交 | 成人人免费夜夜视频观看 | 九九精品99久久久香蕉 | 免费亚洲视频在线观看 | 精品国产一区二区三区久久久蜜臀 | 满溢游泳池免费土豪全集下拉版 | 午夜剧场1000 | 日本在线视频播放 | bban女同系列022在线观看 | 精品国产免费久久久久久婷婷 |