上一篇已经介绍到了eureka的搭建,其中只讲了一个。剩下的集群也是大同小异,只不过需要做的就是配置文件中配置有略微差异。
服务的提供者与消费者 都需要注册在eureka中,让eureka来管理。接下来开始进行服务提供者注入eureka
前面操作跟前两篇一样是新建新的模块。这个就不截图了,直接贴出来结构图
下面是pom文件中的依赖
<dependencies>
<!-- 引入api中的实体类-->
<dependency>
<groupId>com.beijing.wangsc.springcloud</groupId>
<artifactId>microservicecloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 后面hystrix 需要用的 现在可以不用,为了后面方便就写上了-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 服务注册到eureka ,记住下面的是eureka 不是server端,server是用来做注册中心的-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- 单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!--数据库-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!--日志-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<!--spingboot 内置web容器jetty,可以百度一下他与tomcat区别-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<!--web-->
<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>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
开始编写配置文件
# 服务端口号
server:
port: 8001
#mybatis配置
mybatis:
# 注意config-location跟configuration不能同时使用,官方文档已经说明了
# config-location: classpath:mybatis/mybatis.cfg.xml #mybatis所有配置文件所在路径,现在这个可以不写已经集成到spring里了
type-aliases-package: com.beijing.wangsc.springcloud.dao # 所有Entity别名类所在包
mapper-locations: classpath*:mybatis/mapper/**/*.xml # mapper映射文件
spring:
application:
name: microservicecloud-dept # 微服务名称
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.99.100:32768/mytest?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
username: root
password:
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
dbcp2:
min-idle: 5 # 链接池最小连接数
max-total: 5 # 最大连接数
initial-size: 5 # 初始化连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka
instance:
instance-id: microservicecloud-dept-8001 # eureka上显示的名称
prefer-ip-address: true # 访问的时候,鼠标放在这个名称时候是不否显示ip
开始编写接口
Mapper
mybatis的xml编写,记得这里的路径要跟配置文件中的要能对应上。否则找不到会报错
接口实现层
控制层
启动类
- 这里注意下mapper接口里记得mapper注解,服务提供注解上也别忘记开启eurekaclient端
- 在一个需要注意点 如果application.yml没有生效 也就是不是绿色的这种图标,就是代表着idea没有将此文件当成配置文件,需要你将该服务的文件改一下操作如下
接下来在启动之前需要重新maven编译一下,因为有调用api里的东西,maven编译一下。
启动成功后就会将服务注册到eureka中
注册成功后,调用下服务提供者的controller看看功能是否正确。成功会有如下结果
下一篇开始写消费者如何通过eureka去消费生产者。因为第一次写,写的过于简陋忘各位朋友勇于指点,有问题也可以留言,大家共同进步