``
1:创建一个父级项目(创maven删src,打pom包,关联关系 什么都不选)
2:创建eureka(注册中心)
2.1:创建spring initializr
2.1.1:选择cloud Discouery --》Eureka Server
2.2 : 配置yml
server:
port: 8088
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://
e
u
r
e
k
a
.
i
n
s
t
a
n
c
e
.
h
o
s
t
n
a
m
e
:
{eureka.instance.hostname}:
eureka.instance.hostname:{server.port}/eureka/
2.3:在启动类上加注解@EnableEurekaServer
2.4:注意有事可能需要降低版本
`
3:创建生产者
3.1:创建spring initializr
3.1.1:选择cloud Discouery --》Eureka Discovery(还有一些其他的包如mysql等)
3.2:配置yml
3.3:启动类添加注解@EnableEurekaClient
@MapperScan("com.jk.mapper")//mapper接口
3.4; 传递对象时要加@RequestBody
3.5:思路
1;ribbo(消费者)+ 生产者
在ribbon中只有一个controller和前台 在生产者里面有一套完整的controller---》service --》dao三层
3.6:mapper
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jk.mapper.UserMapper">
<select id="queryById" parameterType="int" resultType="com.jk.model.User">
select * from t_user where id=#{value}
</select>
</mapper>
4:创建消费者(feign)
1:首先选择cloud Discouery --》Eureka Discovery
2:配置yml
server:
port: 8765
spring:
application:
name: spring-provider
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.162:3306/1809a?useUnicode=true&characterEncoding=utf-8
username: root
password: root
thymeleaf:
encoding: UTF-8
servlet:
content-type: text/html
mybatis:
mapper-locations: classpath:mapper/*.xml
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka
3:启动类加注解
@EnableEurekaClient
@EnableFeignClients
springcloud提取api
1;在消费者controller中注入消费者的service接口
2; 在消费者service接口上加上@FeignClient(value = "order-producer")
3;消费者service继承api的service接口
4;在所有抽象方法写在api中,消费者中service没有抽象方法
5在生产者的controller中实现api中的接口//注这是虽然类仍然较controller单其实他是serviceImpl后面直接dao或mapper层
6;也可以还按以前的con-》serv->dao写