IDEA 创建 Java 项目 Nacos 配置中心

IDEA 创建 Java 项目 Nacos 配置中心

一、创建 SpringCloud 工程

创建 SpringCloud 工程 教程

二、引入 Nacos 服务注册服务发现

引入 Nacos 服务注册服务发现教程

三、引入负载均衡

引入负载均衡教程

四、配置中心

五、源码

application.yml

yml 复制代码
server:
  port: 8000
spring:
  profiles:
    active: dev
  application:
    name: service-order
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      config:
        namespace: ${spring.profiles.active:public}
  config:
    import:
      - nacos:common.properties?group=order

OrderProperties.java

java 复制代码
package yang.junbo.order.properties;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * ClassName: OrderProperties
 * Package: yang.junbo.order.properties
 * Description:
 *
 * @Author 杨钧博
 * @Create 2026/6/17 11:41
 * @Version 1.0
 */
@Component
@ConfigurationProperties(prefix = "order")
@Data
public class OrderProperties {
    String timeout;
    String autoConfirm;
}

OrderController.java

java 复制代码
package yang.junbo.order.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import yang.junbo.bean.order.Order;
import yang.junbo.order.properties.OrderProperties;
import yang.junbo.order.service.OrderService;

/**
 * ClassName: OrderController
 * Package: yang.junbo.order.controller
 * Description:
 *
 * @Author 杨钧博
 * @Create 2026/6/17 9:13
 * @Version 1.0
 */
@RefreshScope
@RestController
public class OrderController {
    @Autowired
    private OrderService orderService;
    @Value("${order.timeout}")
    String orderTimeout;
    @Value("${order.auto-confirm}")
    String orderAutoConfirm;
    @Autowired
    OrderProperties orderProperties;

    @GetMapping("/config")
    public String config(){

        return "orderTimeout:"+orderTimeout+" orderAutoConfirm:"+orderAutoConfirm+" orderProperties"+orderProperties;
    }
    /**
     * 创建订单
     * @param userId
     * @param productId
     * @return
     */
    @GetMapping("/create")
    public Order create(@RequestParam("userId") Long userId,
                        @RequestParam("productId") Long productId)
    {
        Order order = orderService.createOrder(productId,userId);
        return order;
    }
}