apollo官网有各种配置介绍,我这里采用比较合理的方式,也是官网推荐的方式,就是自己封装一个类包,作为二方库,给公司其他需要统一配置的项目来使用。
一、二方库制作
1.自己创建一个pom项目,可以打包成jar
<groupId>company-apollocilent</groupId> <artifactId>company-apollocilent</artifactId> <version>1.1.0</version>
2. 在pom.xml文件中加入apollo client包的依赖
<dependency> <groupId>company.apollo-client</groupId> <artifactId>company.apollo-client</artifactId> <version>1.1.0</version> </dependency>
3.resources下建立apollo-env.properties内容为
dev.meta=http://101.37.148.182:28080 fat.meta=http://apollo.fat.xxx.com uat.meta=http://apollo.uat.xxx.com pro.meta=http://120.55.242.14:8080
各环境对应的metaService地址。
做完上述三部,编译通过后,然后打包成jar。
二、springmvc项目使用apollo统一配置
1 在项目pom.xml引入刚才制作的二方库company.apollo-client。 <dependency> <groupId>company-apollocilent</groupId> <artifactId>company-apollocilent</artifactId> <version>1.1.0</version> </dependency> 2resources下建立META-INF目录并在目录下新建app.properties,内容为 app.id=1111 (项目在apollo统一配置界面里配置的应用id) 3在启动时,加-Denv=PRO即可。 (DEV,FAT,UAT,PRO)
三、springboot项目使用apollo统一配置.prop配置方式同springmvc
1 在项目pom.xml引入刚才制作的二方库company.apollo-client。 <dependency> <groupId>company-apollocilent</groupId> <artifactId>company-apollocilent</artifactId> <version>1.1.0</version> </dependency> 2resources下建立META-INF目录并在目录下新建app.properties,内容为 app.id=1111 (项目在apollo统一配置界面里配置的应用id) 3在启动时,加-Denv=PRO即可。 (DEV,FAT,UAT,PRO)
四项目中使用的方式
1.代码中需要用到统一配置的方式
@ApolloConfig private Config config;
Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null String someKey = "server.port"; String someDefaultValue = "2222"; String value = config.getProperty(someKey, someDefaultValue); //someDefaultValue是当获取统一配置失败后,默认值
2. xml配置文件中使用统一配置的方式
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="port" value="${server.port:100}" /> 100是当获取统一配置失败后,默认值 </bean>
版权声明:本文为doeverything原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。