前言:最近在看Springboot的相关知识,今天分享一下SpringBoot建立多模块工程
SpringBoot版本:1.5.17.RELEASE
开发步骤:
一、建立父工程
二、建立Eureka服务端模块
二、建立Eureka客户端模块
三、测试
下面开始:
一、建立父工程
1 .使用Maven建立父工程
建立Maven工程的步骤请见上一篇博客,此处不再赘言。
地址:https://blog.csdn.net/qq_39839075/article/details/83215642#comments
工程生成后,删除掉src文件夹,只保留pom.xml即可;如下图:
2 .添加依赖
1)、继承SpringBoot父工程
说明: 继承父工程之后,一些包可以不写版本后,直接使用父工程中的版本号
org.springframework.boot
spring-boot-starter-parent
1.5.17.RELEASE
2)、添加依赖管理标签
说明: 添加依赖标签的作用是:在父工程定义的依赖,子工程可以直接引用,不需要再写版本号
3)、在依赖管理标签中定义项目全局使用的依赖
org.springframework.boot
spring-boot-starter
1.5.17.RELEASE
org.springframework.boot
spring-boot-starter-web
1.5.17.RELEASE
org.springframework.boot
spring-boot-starter-test
test
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.1
mysql
mysql-connector-java
5.1.23
二、建立Eureka服务端模块
选中父工程,右键,新建一个子工程
新建成功之后,添加EurekaServer相关依赖
org.springframework.cloud
spring-cloud-starter-eureka-server
1.3.6.RELEASE
编写EurekaServer服务端启动类
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
注意:服务端启动类所在路径不能在根路径下,一定要自己新建包,然后放到自己新建的包下。
如下图:
在resources文件夹下新建application.properties文件,并添加如下配置:
#Eureka服务端的端口
server.port=8000
#是否将Eureka服务端进行注册
eureka.client.register-with-eureka=false
#是否检索服务(Eureka默认会检索其他的Eureka服务端,并将自己的服务列表注册到其他Eureka上,以实现高可用)
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://localhost:8000/eureka/
运行服务端main方法,启动EurekaServer服务端。出现如下界面,说明EurekaSever服务端模块搭建完成
二、建立EurkaClient模块
说明:建立过程和EurekaServer相同,如法炮制即可。
1)添加相关依赖
org.springframework.cloud
spring-cloud-starter-eureka
1.3.6.RELEASE
org.springframework.boot
spring-boot-starter-web
编写客户端启动类代码
@SpringBootApplication
@EnableEurekaClient
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
编写客户端测试代码
@RestController
@RequestMapping("/home")
public class HomeController {
@RequestMapping("/index")
public String home() {
return "success";
}
}
客户端项目结构为:
注意:启动类所在包层级要高于客户端测试代码,否则启动类扫描不到客户端代码,导致访问客户端工程失败