Java Spring boot项目中定义的全局变量和应用程序变量
我正在尝试使用spring和spring boot开发微服务。在我的项目中,我将单片转换为面向服务的体系结构。项目包含20个微服务。我需要设置应用程序变量和全局变量。我有一些与此相关的困惑,我在这里添加这些困惑Java Spring boot项目中定义的全局变量和应用程序变量,java,spring,spring-boot,microservices,configuration-files,Java,Spring,Spring Boot,Microservices,Configuration Files,我正在尝试使用spring和spring boot开发微服务。在我的项目中,我将单片转换为面向服务的体系结构。项目包含20个微服务。我需要设置应用程序变量和全局变量。我有一些与此相关的困惑,我在这里添加这些困惑 可以在application.properties文件中声明全局变量吗?如果不可能,我可以在哪里定义全局变量 若我使用SpringConfigServer进行全局配置,那个么如何有条件地将这些属性导入到客户机项目中 我是否可以在config server中为不同的配置文件设置不同的属性文
在我的探索之后,我找到了这个问题的解决方案,用于加载全局变量和应用程序变量,包括数据库配置。我们可以使用的最好方法是——SpringCloudConfigServer外部化配置 我们可以为SpringCloudConfigServer创建一个微服务。在配置服务器中,我们可以通过两种方式创建变量和配置
server.port=8888
spring.profiles.active=native
在配置服务器的pom.xml文件中添加配置服务器依赖项
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
并通过添加pom.xml依赖项创建客户端微服务项目,
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
最后,通过指定概要文件来运行客户端项目
java -jar -Dsping.profiles.active=<profile> <jar_name>.jar
java-jar-Dsping.profiles.active=.jar
提前感谢您可以使用基于键值的存储,如etcd for global variables或返回全局变量的通用rest服务。或者您可以使用父工件存储全局变量。需要对架构设置进行良好的研发:-)Yaa。我找到了一个可行的方法,卡卡巴利先生。无论如何,谢谢你的回复,谢谢你花时间陪我。你可以用我的方法核对你的发现。我已经添加了缺点。非常感谢您的研究!
server.port=8080
spring.application.name=db
spring.cloud.config.uri=localhost:8888
java -jar -Dsping.profiles.active=<profile> <jar_name>.jar