Spring之Environment類的使用方式
業(yè)務(wù)開發(fā)中可能需要當(dāng)前環(huán)境的判斷,比如某些接口嚴(yán)禁生產(chǎn)環(huán)境下調(diào)用,有些接口只能再預(yù)發(fā)環(huán)境下才可用等。
這個時候在Spring中可以使用Environment類。
通常有兩種方式, 一種是基于接口,一種是直接注入。
一、實現(xiàn)EnvironmentAware接口
代碼如下:
package com.chujianyun.web.util;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
/**
* 環(huán)境幫助類
* author: 明明如月
* email: liuwangyangedu@163.com
*/
@Component
public class EnvironmentHelper implements EnvironmentAware {
private Environment environment;
private static final String PROD = "prod";
private static final String PRE = "pre";
private static final String QA = "qa";
public boolean isProd() {
return environment.acceptsProfiles(PROD);
}
public boolean isPre() {
return environment.acceptsProfiles(PRE);
}
public boolean isQa() {
return environment.acceptsProfiles(QA);
}
public String[] getActiveProfiles() {
return environment.getActiveProfiles();
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
}二、直接注入
直接通過注解將環(huán)境注入進(jìn)來。
package com.chujianyun.web.util;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* 環(huán)境幫助類
* author: 明明如月
* email: liuwangyangedu@163.com
*/
@Component
public class EnvironmentHelper{
@Autowired
private Environment environment;
private static final String PROD = "prod";
private static final String PRE = "pre";
private static final String QA = "qa";
public boolean isProd() {
return environment.acceptsProfiles(PROD);
}
public boolean isPre() {
return environment.acceptsProfiles(PRE);
}
public boolean isQa() {
return environment.acceptsProfiles(QA);
}
public String[] getActiveProfiles() {
return environment.getActiveProfiles();
}
}當(dāng)然了除了獲取環(huán)境之外,還可以設(shè)置或者獲取屬性。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
自定義注解和springAOP捕獲Service層異常,并處理自定義異常操作
這篇文章主要介紹了自定義注解和springAOP捕獲Service層異常,并處理自定義異常操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Java代碼統(tǒng)計網(wǎng)站中不同省份用戶的訪問數(shù)
這篇文章主要介紹了Java代碼統(tǒng)計網(wǎng)站中不同省份用戶的訪問數(shù) 的相關(guān)資料,非常具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
SpringBoot集成EasyExcel實現(xiàn)百萬級別的數(shù)據(jù)導(dǎo)入導(dǎo)出實踐指南
本文將基于開源項目 springboot-easyexcel-batch 進(jìn)行解析與擴(kuò)展,手把手教大家如何在 Spring Boot 2.2.1 中集成 Alibaba EasyExcel,輕松實現(xiàn)百萬級數(shù)據(jù)的導(dǎo)入與導(dǎo)出2025-08-08
Java字符編碼原理(動力節(jié)點(diǎn)Java學(xué)院整理)
Java開發(fā)中,常常會遇到亂碼的問題,一旦遇到這種問題,常常比較煩惱,大家都不想承認(rèn)是自己的代碼問題,其實搞明白編碼的本質(zhì)過程就簡單多了,接下來小編給大家?guī)韏ava字符編碼原理,要求看看吧2017-04-04
Java replaceAll()方法報錯Illegal group reference的解決辦法
這篇文章主要給大家介紹了關(guān)于Java replaceAll()方法報錯Illegal group reference的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

