多模块项目的Spring Cloud客户端配置

虽然我已经成功地使用 GIT 作为后端属性回购设置了 spring cloud config 客户端/服务器。但是,对于我的一个客户端代码,我有一个遵循模块结构(maven)的基本问题:


客户 1:


  common (maven module)

  app (maven module)

  web (Contains the spring boot application, bootstrap.properties, application.properties)

对于上述结构,我能够从 spring cloud config 服务器读取/刷新“web”模块的属性(因为那是我的 SpringBootApplication 所在的那个),但是无法理解如何在中注入配置/注入属性其他模块也一样,比如公共模块或应用程序模块可能有属性。


我尝试在其他模块中添加 bootstrap.properties,它们指向同一个 spring 云配置服务器。但这没有成功。


Spring cloud config server application.properties:


服务器.port=8888


spring.cloud.config.server.git.uri=


管理.security.enabled=false


Web 模块的 bootstrap.properties


spring.application.name=测试


spring.cloud.config.uri= http://localhost:8888


管理.security.enabled=false


spring.profiles.active=默认,产品


Maven 依赖项(云配置客户端):


    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-actuator</artifactId>

        <version>1.4.4.RELEASE</version>

    </dependency>

    <dependency>

        <groupId>org.springframework.cloud</groupId>

        <artifactId>spring-cloud-starter-config</artifactId>

        <version>1.1.2.RELEASE</version>

    </dependency>

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

        <version>1.4.4.RELEASE</version>

    </dependency>

请帮助我理解,关于如何读取/刷新跨多个模块(如将部署在单个实例/客户端上的通用、应用程序或 Web)的属性。


慕斯王
浏览 155回答 1
1回答

青春有我

由于您的common和app模块不是应用程序,它们不会启动,因此不会读取您的 bootstrap.properties 文件。查看类型安全配置属性和第三方配置。您的common和app模块可以提供多个类及其属性。在模块的 Java 配置中,web您可以设置bootstrap.properties和/或application.properties文件中的值与配置类之间的绑定。由于@ConfigurationProperties注解,Spring Boot 将创建这些配置类的常规 bean。这样你就可以像任何其他 bean 一样注入你的配置。希望有帮助!:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java