SpringBoot學習筆記(2)----配置文件取值


 

今天介紹三種配置文件手動取值的方式:

springboot配置文件信息保存在application.properties中,默認可以spring.開頭的進行spring進行一些常用參數的配置,但是很多時候我們需要手動配置一些配置,這就需要我們自己手動取值了,

application.propertis配置文件默認存在classpath/classpaht/config中。我們也可以通過配置在啟動服務器時通過啟動程序時通過手動配置參數置頂該路徑,這里就暫時不做演示,今天主要學習的是如何取得配置文件中的值。

方式1:

       通過 SpringApplication.run(Application.class, args);返回的上下文信息ConfigurableApplicationContext取的

Environment,然后通過getProperty(key);取得value,直接上代碼:

配置文件key-value:

server.host=127.0.0.1

  java代碼:

ConfigurableApplicationContext context =  SpringApplication.run(Application.class, args);
context.getEnvironment().getProperty("server.host");
System.out.println("post" + context.getEnvironment().getProperty("server.host"));

 輸出信息:

 這里的Environment也可以通過

@Autowired
Environment env;

自動裝配。

方式2:

通過@Value("${key}")取值,

配置文件key-value:

server.post=8080

java代碼

package com.wangx.springboot.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

/**
 * 取值
 * @author Administrator
 *
 */

@Component("users")
public class User {
	@Value("${server.post}")
	private String post;
	public void print() {
		System.out.println(post);
	}
}

  Applilcation.java

User user = (User)context.getBean("users");
user.print();

 控制台輸出:

方式3:

在配置文件中通過${key}引用配置信息

配置文件:

name=springboot
server.name=this is a ${name}

User.java

package com.wangx.springboot.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

/**
 * 取值
 * @author Administrator
 *
 */

@Component("users")
public class User {
	@Autowired
	Environment env;
	@Value("${server.name}")
	private String post;
	public void print() {
		System.out.println(post);
	}
}

  控制台信息:

OK,三次取值 演示完畢。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM