nacos(三): 创建第一个生产者producer(单体)
因为springcloud各个版本之间适配非常神经质,所以事件明确,在本实验环节中:使用的是JDK8,选择的springboot版本是2.7.6。可以借助阿里云的脚手架(点此进入)帮我们创建第一个springcloudAlibaba项目:
如图所示,我们需要先添加"Nacos Service Discovery"和"Spring Web"组件。(注意:不要加太后,后面需要用到组件我们在pom里慢慢添加,否则生成的pom里会有各种错误)。
在生成的项目中,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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.nacos</groupId> <artifactId>springboot</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>2.7.6</spring-boot.version> <spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</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.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.nacos.springboot.SpringbootApplication</mainClass> <skip>false</skip> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build></project>
在application.yml中添加如下代码:
server:port: 8080spring:cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: properties username: nacos password: nacosapplication: name: product1
其中username和password是连接nacos的用户名和密码。因为前面对nacos开启了鉴权并设置了密码,如果这里没有指定连接密码,就会抛出UnknowException。
关于启动代码:
@SpringBootApplication@EnableDiscoveryClientpublic class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); }}
@EnableDiscoveryClient注解可以让项目启动的时候,自动注册进nacos中心。启动之后,可以在nacos后台的服务列表中看到注册进来的服务,如下所示(服务名即为项目的application-name):
本节内容到这里就结束了,下一步即将创建第一个单体消费者consumer。对于微服务的文章会陆续推出,为的就是让新手小伙伴可以从springboot平滑过度到微服务架构,希望对各位有所帮助 : )
页:
[1]