首页 > 解决方案 > Java Spring Cloud - 如何在 Nacos 中读取配置?

问题描述

我将在我的控制器中读取 Nacos 中的配置。在 Windows 上,我可以正确阅读它,但在 Linux 上却不行。我需要它来实现 REST API 以使用 Java Spring Cloud 进行文件上传和下载。我确实在窗户上完美地得到了它。但它在 Linux 上根本不起作用。

这是细节。

JDK:1.8

pom.xml

<spring.boot.version>2.2.11.RELEASE</spring.boot.version>
<spring.plugin.version>2.2.0.RELEASE</spring.plugin.version>
<spring.cloud.version>Hoxton.SR8</spring.cloud.version>
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/media-file")
@Api(value = "File Upload", tags = "")
public class MediaFileController extends BladeController {
    public static final String MEDIA_FILE_TYPE_BOND_PRICE = "bondPrice";

    @Autowired
    public Environment env;

    @PostMapping("upload")
    @ApiOperationSupport(order = 12)
    @ApiOperation(value = "Upload", notes = "Import excel")
    public R upload(MultipartFile file, @ApiParam(value = "文件类型", required = true) @RequestParam 
    String type, @RequestParam Map<String, Object> data) {

        log.info("===> " + this.env.getProperty("spring.servlet.multipart.file-size-threshold"));
    }
}

问题:

this.env.getProperty("spring.servlet.multipart.file-size-threshold") 我可以在 Windows 上读取确切的值。但我无法在 Linux 上阅读它。我想知道如何访问 narcos 配置。

此外,文件上传根本不适用于 Linux。是否有任何特定的配置或权限设置?

提前致谢!

标签: javaspringspring-bootcloudservice-discovery

解决方案


你可以注入你的配置,如:

@NacosValue(value = "${spring.application.name}", autoRefreshed = true)
private String applicationName;

推荐阅读