您的位置:首页 > 编程语言 > Java开发

springboot中静态变量值的注入及子项目间的profile的设置

2018-01-23 15:37 519 查看
在springboot项目中,经常会将controller层、service层等作为不同的子项目,我们常常将提供的服务层打包成jar包,在controller所在的web项目中调用,可以在pom文件中引用:



前面简单说了一下项目之间的引用,接下来要说下如何实现多环境的配置信息作为静态变量在项目之间的注入,对于application.properties在多环境下的配置可以参照 此文http://www.jb51.net/article/108670.htm。本文主要介绍静态变量的注入。

1、在application-dev配置文件中写入配置内容:



2、在application.properties中指定profile



3、静态变量定义的文件在common项目中



代码如下:

@Component
public class WxArg {
public static String appID;
public static String appsecret;
public static String USER_AUTH_CODE;
public static String SSO_IDENTIFY_URL;

public String getAppID() {
return appID;
}
@Value("${wxArg.appID}")
public void setAppID(String appID) {
WxArg.appID = appID;
}

public String getAppsecret() {
return appsecret;
}

@Value("${wxArg.appsecret}")
public void setAppsecret(String appsecret) {
WxArg.appsecret = appsecret;
}

public String getUserAuthCode() {
return USER_AUTH_CODE;
}

@Value("${wxArg.userAuthCode}")
public void setUserAuthCode(String userAuthCode) {
USER_AUTH_CODE = userAuthCode;
}

public String getSsoIdentifyUrl() {
return SSO_IDENTIFY_URL;
}

@Value("${wxArg.ssoIdentifyUrl}")
public void setSsoIdentifyUrl(String ssoIdentifyUrl) {
SSO_IDENTIFY_URL = ssoIdentifyUrl;
}

}

注意:

1>在set方法上使用@Value("${wxArg.ssoIdentifyUrl}")获取;

2>方法不要用静态方法;

3>在类方法上加上@Component;

4、测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class WxArgTest {
private static org.slf4j.Logger logger = LoggerFactory.getLogger(WxArgTest.class);

@Test
public void AppID (){
logger.info("WxArg.appID--------->" + WxArg.appID);
logger.info("WxArg.appsecret--------->" + WxArg.appsecret);
logger.info("WxArg.userAuthCode--------->" + WxArg.USER_AUTH_CODE);
logger.info("WxArg.ssoIdentify
4000
Url--------->" + WxArg.SSO_IDENTIFY_URL);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息