spring配置服务器-无法获取属性

yqhsw0fo  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(420)

我在用另一个spring应用程序从spring配置服务器获取属性时遇到问题。
我可以通过浏览器获取它,这样配置服务器本身看起来就可以了,但是我的客户机应用程序似乎只是忽略了应该获取属性的配置。
配置服务器很简单:

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

以及application.properties

server.port=8888
spring.profiles.active=native
spring.cloud.config.server.native.searchLocations=${HOME}/FH/SKS/configserver/src/main/resources/configuration
management.security.enabled=false

我现在不想使用任何git,所以我只使用一个名为
newsservice-config.properties:

message=Hello configuration server !

我可以通过浏览器很好地获取属性:

.. 所以我猜它在我的另一个配置中!
客户
首先,我使用application.yml进行常规配置,如下所示:

server:
  port : 8081

spring:
  jpa:
    generate-ddl: true
    hibernate:
      ddl-auto: create
    show-sql: true
    databasePlatform: org.hibernate.dialect.MySQL5Dialect

关于配置服务器的内容不多。除了application.yml之外,我还为配置服务器配置创建了bootstrap.properties文件:

spring.application.name=newsservice-config
spring.cloud.config.server.uri=http://localhost:8888
management.security.enabled=false

名称正确。(配置服务器上配置文件的名称)服务器地址正确。
我要测试所有内容的rest控制器:

@RefreshScope
@RestController
@RequestMapping("/article")
@CrossOrigin
public class ArticleController {
    @Value("${message: Default Hello}")
    private String message;

    @GetMapping("/test")
    public String tester(){
        return this.message;
    }
}

…但是它不会从配置服务器获取任何内容。。。。

我的客户的资源结构:

你知道我做错了什么吗?
谨致问候。。。

ohfgkhjo

ohfgkhjo1#

似乎是关于配置客户机实现的版本。如果我在pom.xml文件中使用它,它就会工作

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

..但是新的版本不起作用

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

我真搞不懂为什么会这样。我还认识到,根据实现的不同,配置服务器似乎能够通过浏览器处理正常的配置请求。。。
行为和兼容性似乎也依赖于pom.xml的这一部分

<properties>
        <java.version>15</java.version>
        <spring-cloud.version>2020.0.0-RC1</spring-cloud.version>
    </properties>

<properties>
        <java.version>15</java.version>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
    </properties>

有时这两个选项中的一个可以同时使用spring启动的父版本。。。有时候不是。
我的结论是,这是非常令人困惑的,我只需与任何工作,我想没有问太多的问题(

相关问题