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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99热免费在线 | 亚洲区精品久久一区二区三区 | 亚洲一区二区精品视频 | 小小水蜜桃3视频在线观看 小鸟酱喷水 | 四虎网址 | 91资源站 | 国产亚洲综合精品一区二区三区 | 91久久青青草原线免费 | 香蕉tv国产在线永久播放 | 无码乱人伦一区二区亚洲一 | 人与蛇boxxⅹ | 国产大乳美女挤奶视频 | 爽爽影院免费观看 | 秋霞一级成人欧美理论 | 色综合91久久精品中文字幕 | 亚洲国产99999在线精品一区 | 欧美精品超清在线播放 | 毛毛片在线 | 色综久久天天综合绕视看 | 波多野结衣之高校教师 | 97精品国产自在现线免费观看 | 俄罗斯妈妈235 | 三级视频中文字幕 | tk白嫩玉足脚心vk | 日韩欧美国产免费看清风阁 | 狠狠综合久久综合网站 | 欧美久在线观看在线观看 | 四虎影视在线影院在线观看 | free性俄罗斯护士 | 午夜精品久久久久久中宇 | 热99re久久精品国产 | 色人阁图片 | 成年男女免费大片在线观看 | 日韩精品一区二区三区视频 | 深夜免费看 | 久久久久久久久性潮 | 国产四虎 | 免费看片黄色 | 久久AV喷吹AV高潮欧美 | 护士伦理片 | 99热在线只有精品 |