在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项目中
代码如下:
扫描二维码关注公众号,回复:
9889362 查看本文章
@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.ssoIdentifyUrl--------->" + WxArg.SSO_IDENTIFY_URL); } }