前提: 我的项目之前是简单的javaWeb项目,依赖是在lib目录下来, 我费了一天的时间把项目改成了maven项目,其中不乏一些jar包在maven中央仓库中找不到, 所以我搭了个maven的私服:Sonatype Nexus, 中央仓库中找不到的jar包, 我就上传到本地私服中.
依赖包
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-core</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
过程使用的2中方式记录。
1. vm配置的形式集成apollo
idea编译工具的vm配置界面:
这里是SSM 项目中spring的applicationContext.xml文件, 获取和设置 apollo配置的bean对象
这里是上面创建bean对象时,类中如何获取apollo配置参数的内容, 因为在vm中配置的apollo地址,环境,项目ID 信息, 所以项目启动过程中, 就可以找到apollo的配置参数
这里是获取了apollo参数之后,对数据库设置连接参数的内容
到这里, 项目已经启动, 并且已经获取到配置参数, 并且设置数据源连接参数
2.配置文件的形式集成apollo
上面介绍了vm设置连接apollo的方式, 这里介绍一下已配置文件的形式连接apollo.
文件存放的地方:
app.properties文件内容介绍:
apollo-env.properties文件内容介绍:
各个地方使用环境的设置地方:
这里是官方介绍, 意思是你可以在指定路径下的server.properties文件里面指定当前使用apollo的那个环境
server.properties文件内容介绍:
其他的applicationContext.xml和JdbcDecryptPropertiesFile内容都不变,
到这里第二种配置文件的方式连接获取apollo的配置参数方式也完成了
关于在项目中实时获取apollo配置环境的处理方式
我的思路是写一个工具类, 然后每次需要配置参数数, 我就是获取一次配置参数
如:
这就是我对一个普通的SSM 项目集成apollo的 收获