SpingCloud新建Nacos模块无法获取配置文件
SpingCloud新建Nacos模块无法获取配置文件
IdatageWebApplication.java
package com.springcloud.cad;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringCloudApplication
public class IdatageWebApplication {
public static void main(String[] args) {
System.out.println("IdatageGatewayApplication");
SpringApplication.run(IdatageWebApplication.class, args);
}
}
TestController.java
package com.springcloud.cad.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RequestMapping("/nacos")
@RestController
public class TestController {
@Value("${server.port}")
private String port;
@Value("${spring.application.name}")
private String name;
@Autowired
private DiscoveryClient discoveryClient;
@RequestMapping("/info")
public String getInfo() {
return name + "-" + port;
}
@GetMapping("/discovery")
public Map<String, List<ServiceInstance>> discovery() {
// 获取服务名列表
List<String> servicesList = discoveryClient.getServices();
// 根据服务名 获取 每个服务名下的 各个服务的信息
Map<String, List<ServiceInstance>> map = new HashMap<>();
servicesList.stream().forEach(service -> {
map.put(service, discoveryClient.getInstances(service));
});
return map;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题具体表现是什么或者报什么错,是port取到的值为${server.port},还是说port的值是null。如果取到的值是${server.port}这种,可能是程序识别不到配置文件。可以把application.yml文件重命名为application.properties,还不行的话可以在启动类上加这个注解试试:
@PropertySource({"classpath:application.properties"})
。