要将cust表服务注册到Nacos中,并通过另一个服务消费者查询数据,以下步骤:
1. 创建cust表服务提供者:
- 导入依赖:在pom.xml中添加以下依赖,用于集成Spring Cloud和Nacos:
<dependencies>
<!-- Spring Cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
- 配置文件:在application.properties或application.yml配置文件中添加以下Nacos和Spring Cloud的配置:
=cust-service
server.port=8080
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.service= cust-service
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/database_name
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 创建数据访问层:创建CustRepository接口,继承JpaRepository,用于操作数据库。
@Repository
public interface CustRepository extends JpaRepository<Cust, Long> {
// 自定义查询方法
}
- 创建服务层:创建CustService接口和CustServiceImpl实现类,用于定义业务逻辑。
public interface CustService {
List<Cust> getAllCusts();
}
@Service
public class CustServiceImpl implements CustService {
private final CustRepository custRepository;
public CustServiceImpl(CustRepository custRepository) {
this.custRepository = custRepository;
}
@Override
public List<Cust> getAllCusts() {
return custRepository.findAll();
}
}
- 创建控制器:创建CustController类,用于处理请求。
@RestController
@RequestMapping("/cust")
public class CustController {
private final CustService custService;
public CustController(CustService custService) {
this.custService = custService;
}
@GetMapping("/")
public List<Cust> getAllCusts() {
return custService.getAllCusts();
}
}
- 启动服务提供者:添加@EnableDiscoveryClient注解到服务提供者的启动类上,并运行项目。
2. 创建服务消费者:
- 导入依赖:在pom.xml中添加以下依赖,用于集成Spring Cloud和Nacos:
<dependencies>
<!-- Spring Cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
- 配置文件:在application.properties或application.yml配置文件中添加以下Nacos和Spring Cloud的配置:
=cust-consumer
server.port=8081
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# 服务提供者配置
=cust-service
- 创建服务接口:创建CustService接口,定义查询方法。
public interface CustService {
List<Cust> getAllCusts();
}
- 创建服务消费者:创建CustConsumer类,用于调用服务提供者。
@RestController
@RequestMapping("/consumer")
public class CustConsumer {
private final CustService custService;
public CustConsumer(CustService custService) {
this.custService = custService;
}
@GetMapping("/custs")
public List<Cust> getAllCusts() {
return custService.getAllCusts();
}
}
- 启动服务消费者:运行服务消费者的启动类。
3. 注册服务到Nacos:
- 启动Nacos服务:确保您已经启动了Nacos服务。
- 注册服务提供者到Nacos:服务提供者会自动将自己注册到Nacos。可以在Nacos控制台上查看是否成功注册。
- 测试服务消费者:访问http://localhost:8081/consumer/custs,即可调用服务提供者并返回cust表的数据。
这样就完成了使用Spring Cloud与Nacos将cust表服务注册到Nacos中,并通过创建另一个服务消费者来查询这个表的数据的过程。