开始
请提前搭建好nacos服务,这里不做搭建过程说明。
我们首先需要先创建一个项目
到这里,新项目已经创建完成
pom文件
我们查看pom文件,很空,接下来我们加入依赖
// lombok依赖,不是必须
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
// springboot
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
接下来加入父pom依赖版本管理,便于子工程继承
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${nacos.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
到此,父pom已构建完成,我们看看最终pom
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.oracle</groupId>
<artifactId>nacos</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<spring-boot.version>2.0.4.RELEASE</spring-boot.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<nacos.version>0.2.2.RELEASE</nacos.version>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${nacos.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
ok,现在开始创建子工程,这里不多过多赘述,请参考创建父工程过程
我们先创建一个子工程
服务注册中心
子工程创建完成后,加入依赖,这里请直接参考我的pom文件
<?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>nacos</artifactId>
<groupId>com.oracle</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>nacos-consumer</artifactId>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
<dependency>
<artifactId>nacos-provide</artifactId>
<groupId>com.oracle</groupId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
我们在子工程的/src/main/java目录下创建包名,创建启动项
启动项代码如下
/**
* @author Hml
* @date 2020/11/28 10:20
* @version 1.0
*/
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @ClassName consumer
* @Description TODO
* @Author Hml
* @DATE 2020/11/28 10:20
* @Version 1.0
**/
@EnableDiscoveryClient//启动项必须加这个注解
@SpringBootApplication
public class consumer {
public static void main(String[] args) { SpringApplication.run(consumer.class); }
}
注意,全部复制的话请留意包名
再次强调@EnableDiscoveryClient注解!
创建yml
在resource目录下创建application.yml
server:
port: 9528 //端口随意
spring:
application:
name: consumer
cloud:
nacos:
discovery://注册服务
server-addr: 你的地址:端口
接下来!
就是启动项目了~
非常的nice!
然后,我们查看nacos的服务列表,看看注册上去了没
很好,我们成功注册上服务了
接下来,同理,请再创建一个子工程,以同样的方法注册上去~~
服务配置中心
年轻人,很快啊!不讲武德,耗子尾汁。
废话不多说,直接开始配置中心
这时候我们在子工程里引入依赖
dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
打开nacos,添加配置文件信息
接下来,yml文件里加入
${prefix}-${spring.profile.active}.${file-extension}读取Nacos顺序
服务名- 开发环境的值-指定配置文件类型
然后,我们写一个接口
@Value("${spring.application.name:}")
private String title;
@Override
public String sayHello(@RequestParam("name") String name) {
return title;
}
启动项目,看看接口返回的值是不是你加入nacos的值
如果是 你就成功了
nacos热更新
在控制层加入@RefreshScope注解 即可。