搭建springCloud项目
1.创建父子工程
2.配置maven
3.修改父工程pom文件
<!--创建父工程的子工程时,父工程的打包方式会自动变为pom方式-->
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<!--创建子工程时自动将子工程名字添加到modules-->
<modules>
<module>sca-provider</module>
<module>sca-consumer</module>
<module>sca-gateway</module>
</modules>
<!--properties 定义一些属性元素-->
<properties>
<!--可以自定义-->
<!--<a.b.c>2.3.2.RELEASE</a.b.c>-->
<spring.boot.version>2.3.2.RELEASE</spring.boot.version>
</properties>
<!--maven的父工程为一个pom工程,主要负责依赖版本以及部分基础依赖的管理-->
<dependencyManagement>
<dependencies>
<!--SpringBoot 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${
spring.boot.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--SpringCloud 依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--SpringCloud Alibaba 依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<!--dependencies 元素中定义子工程中都需要的依赖-->
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!--provided只表示在编译阶段有效 运行阶段无效,方便将来打包时不会被打包到资源中-->
<scope>provided</scope>
</dependency>
</dependencies>
4.构建Nacos服务
4.1 准备工作
Nacos概述
Nacos(DynamicNaming and Configuration Service)是一个应用于服务注册与发现、配置管理的平台。它孵化于阿里巴巴,成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。其官网地址如下:
- 1.已经配置JAVA_HOME
- 2.确保你的MySQL版本为5.7以上(MariaDB10.5以上)
- 3.下载nacos并解压
https://github.com/alibaba/nacos/releases
4.2 初始化配置
1.登录数据库客户端,执行命令 source source C:\Users\tarena\Desktop\test\CODES\nacos-mysql.sql
执行成功以后,会创建一个nacos_config数据库
2.打开/conf/application.properties里打开默认配置,并基于你当前环境配置要连接的数据库,连接数据库时使用的用户名和密码(假如前面有"#"要将其去掉)
4.3 启动服务并访问
1.启动
方式一:
Linux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式): ./startup.sh -m standalone
Windows启动命令(standalone代表着单机模式运行,非集群模式): bin目录下cmd窗口执行 startup.cmd -m standalone
方式二:idea启动
idea配置:
说明:
1)执行执行令时要么配置环境变量,要么直接在nacos/bin目录下去执行.
2)nacos启动时需要本地环境变量中配置了JAVA_HOME(对应jdk的安装目录),
3)一定要确保你连接的数据库(nacos_config)是存在的.
4)假如所有的配置都正确,还连不上,检查一下你有几个数据库(mysql,…)
2.访问
打开浏览器,输入http://localhost:8848/nacos地址,用户名/密码 nacos/nacos 登录后如下界面:
账号和密码默认都是nacos
生产者服务创建及注册
第一步:创建服务提供者工程(module名为sca-provider),继承parent工程(01-sca),其pom.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>01-sca</artifactId>
<groupId>com.jt</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>sca-provider</artifactId>
<dependencies>
<!--Web服务-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--服务的注册和发现(我们要讲服务注册到nacos)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
</project>
第二步:创建并修改配置文件application.yml(或者application.properties),实现服务注册,关键代码如下:
server:
port: 8081
spring:
application:
name: sca-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848
注意:服务名不要使用下划线(“_”),应使用横杠(“-”),这是规则。
第三步:创建启动类,并定义处理请求的控制层对象和方法,关键代码如下:
package com.cy;
@SpringBootApplication
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
/**定义Controller对象(这个对象在spring mvc中给他的定义是handler),
* 基于此对象处理客户端的请求*/