maven多模块构建springcloud项目
正经学徒,佛系记录,不搞事情参考上文:https://blog.csdn.net/qq_31748587/article/details/84849520基于maven多模块构建springcloud项目实现简单的服务注册发现,项目最终结构如下:cloud_parent:父工程,统一管理jar包依赖eureka_server:注册中心服务eureka_client:服务提供...
正经学徒,佛系记录,不搞事情
参考上文:https://blog.csdn.net/qq_31748587/article/details/84849520
基于maven多模块构建springcloud项目实现简单的服务注册发现,项目最终结构如下:
cloud_parent:父工程,统一管理jar包依赖
eureka_server:注册中心服务
eureka_client:服务提供者
eureka_feign:服务消费者
第一步:创建一个空项目
第二步:创建父工程module
仅保留pom.xml和.iml文件,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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mn</groupId>
<artifactId>cloud_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--父工程一定要加-->
<packaging>pom</packaging>
<name>cloud_parent</name>
<description>Demo project for Spring Boot</description>
<!--子项目-->
<modules>
<module>eureka_server</module>
<module>eureka_cilent</module>
<module>eureka_feign</module>
</modules>
<!--统一管理版本-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.RELEASE</spring-cloud.version>
</properties>
<!--添加依赖,子项目无需再次添加-->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!--控制springcloud个组件版本-->
<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>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
第三步:创建注册中心eureka_server
右键父工程
创建springboot项目
注意项目的路径,存放在父工程内
pom文件只需保留parent,因为需要的jar包在父工程中
<?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>
<parent>
<artifactId>cloud_parent</artifactId>
<groupId>com.mn</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>eureka_server</artifactId>
<dependencies>
</dependencies>
</project>
修改application.properties文件
spring.application.name=eureka-server
server.port=1001
eureka.instance.hostname=localhost
#表示是否将自己注册到Eureka Server,默认为true
eureka.client.register-with-eureka=false
#表示是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=false
启动类追加注解
@EnableEurekaServer
第四步:创建服务提供者eureka_client
同eureka_server项目流程
修改配置文件application.properties
spring.application.name=eureka-client
server.port=1002
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/
添加TestController类
@RestController
public class TestController {
@GetMapping("/get")
public String get() {
return "试试看可不可以";
}
}
启动类删除@EnableEurekaServer,添加注解
@EnableDiscoveryClient
第五步:创建服务消费者eureka_feign
同eureka_client项目流程
因为用到feign,因此pom.xml文件追加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
修改配置文件application.properties
spring.application.name=eureka-feign
server.port=1003
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/
启动类添加注解
@EnableFeignClients
@EnableDiscoveryClient
添加接口类TestInterface,name与服务名相同(注:服务名不能带有下划线)
@FeignClient(name= "eureka-client")
public interface TestInterface {
@GetMapping(value = "/get")
String get();
}
添加控制类TestController
@RestController
public class TestController {
@Autowired
TestInterface testInterface;
@GetMapping("/getByFeign")
public String get() {
return testInterface.get();
}
}
第六步:测试
依次启动 eureka_server,eureka_client,eureka_feign
浏览器访问:http://127.0.0.1:1001/表明注册中心成功启动
浏览器访问:http://127.0.0.1:1002/get 表明服务提供者启动正常
浏览器访问:http://127.0.0.1:1003/getByFeign 表明服务消费者启动正常
本文只是作为一个引子,入门如何使用maven多模块来搭建微服务,实际项目中,项目可以根据业务需求,按业务拆分或者代码分层,或者二者结合使用,还请举一反三。
项目地址:
https://pan.baidu.com/s/1FZ9M48sY8xbb41WwP4G1Bg 提取码: eacf
更多推荐
所有评论(0)