1

在客户端应用程序中使用中央 Spring Cloud 配置服务器从 GitHub 存储库读取配置。但我无法读取这些值。我能够正确加载这两个应用程序,但无法访问属性。

当我使用服务器配置应用程序访问 GitHub 配置时,它工作正常,如下所示:

<http://localhost:8888/actuator/default>
{"name":"actuator","profiles":["default"],"label":"master","version":"234ebf3e6bee6446cb50d9188f82afe47dc151e8","state":null,"propertySources":[{"name":"https://github.com/Antony12931a0519/spring-config-server/application.properties","source":{"spring.config.server.message":"Hello Am from Github"}}]}

我在评估端点时出错:

<http://localhost:12342/msg>
    Whitelabel Error Page
    This application has no explicit mapping for /error, so you are seeing this as a fallback.
    Sat Nov 16 11:20:49 IST 2019
    There was an unexpected error (type=Internal Server Error, status=500).
    Error creating bean with name 'scopedTarget.controllerTest': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.config.server.message' in string value "${spring.config.server.message}"

云服务器代码:

    @SpringBootApplication
    @EnableConfigServer
    public class ConfigServerApplication {
        public static void main(String[] args) {
            SpringApplication.run(ConfigServerApplication.class, args);
        }
    }

应用程序属性

    #Server port
    server.port = 8888

    #Git repo location.
    spring.cloud.config.server.git.uri=https://github.com/Antony12931a0519/spring-config-server
    #spring.cloud.config.server.git.clone-on-start=true

    #Disable security of the Management endpoint
    #management.security.enabled=false
    management.web.endpoints.exposure.include=*
    spring.application.name=config-server

pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.javainuse</groupId>
        <artifactId>employee-config-server</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
        <name>employee-config</name>
        <description>Demo project for Spring Boot</description>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.1.RELEASE</version>
            <relativePath /> <!-- lookup parent from repository -->
        </parent>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-server</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
            </dependency>
        </dependencies>
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Camden.SR6</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
            <resources>
                <resource>
                    <filtering>true</filtering>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>*.properties</include>
                        <include>common-config/</include>
                    </includes>
                </resource>
            </resources>
        </build>
    </project>
    Code for cloud cient.
    ------------------------
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    @SpringBootApplication
    public class ConfigClientApplication {
        public static void main(String[] args) {
            SpringApplication.run(ConfigClientApplication.class, args);
        }
    }
    Controller class
    ----------------
    @RequestScope
    @RestController
    public class ControllerTest {
        @Value("${spring.config.server.message}")
        private String msg;
        @RequestMapping("/msg")
        String getMsg() {
            return this.msg;
        }
    }

应用程序属性

    server.port=12342
    #spring.application.name=spring-config-client

    #Active Profile - will relate to development properties file in the server. 
    #If this property is absent then default profile will be activated which is 
    #the property file without any environment name at the end. 

    #spring.profiles.active=development

    # this is the default

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

    management.security.enabled=false
    spring.application.name=config-client

pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.javainuse</groupId>
        <artifactId>employee-config-server</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
        <name>employee-config</name>
        <description>Demo project for Spring Boot</description>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.1.RELEASE</version>
            <relativePath /> <!-- lookup parent from repository -->
        </parent>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
            </dependency>
        </dependencies>
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Camden.SR6</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
            <resources>
                <resource>
                    <filtering>true</filtering>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>*.properties</include>
                        <include>common-config/</include>
                    </includes>
                </resource>
            </resources>
        </build>
    </project>

谁能帮我解决这个问题?提前致谢。

4

0 回答 0