吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2809|回复: 9
收起左侧

[Java 转载] 【笔记】傻瓜式Java分布式的创建

[复制链接]
println 发表于 2019-11-13 16:54
注册中心的创建

1、建立注册中心(EurekaServer),需要引入依赖。
Spring Cloud Discovery --> Eureka Server
2、在项目src-->main-->java-->com.XXX.XXXXX-->找到EurekaServerApplication(项目名字+Application)
中的类方法上加@EnableEurekaServer注解。
3、找到项目中的application.properties,在其中加入以下语句:
[Java] 纯文本查看 复制代码
#端口号设置
server.port=8080
#注册中心服务记录地址
eureka.client.service-url.defaultZone=http://localhost:8080/eureka
#记录注册信息(记名字)
eureka.client.fetch-registry=false
#服务注册到注册中心
eureka.client.register-with-eureka=false#端口号设置
server.port=8080
#注册中心服务记录地址
eureka.client.service-url.defaultZone=http://localhost:8080/eureka
#记录注册信息(记名字)
eureka.client.fetch-registry=false
#服务注册到注册中心
eureka.client.register-with-eureka=false

注册中心创建完毕

生产者的建立
1、建立生产者(producer),需要引入依赖。
Web--> Spring Web
SQL--> JDBC API , MyBatis Framework , MySQL Driver
Spring Cloud Discovery--> Eureka Discovery Client
2、在项目src-->main-->java-->com.XXX.XXXXX-->找到MyproviderApplication(项目名字+Application)
在类方法上加@EnableEurekaClient注解
3、找到项目中的application.properties,在其中加入以下语句:
[Java] 纯文本查看 复制代码
#设置端口号
server.port=8081
# 数据库连接属性
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/test(数据库名字)?serverTimezone=UTC(时区)
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 给实体类起别名
mybatis.type-aliases-package=com.example.demo.bean
# 扫描mapper文件
mybatis.mapper-locations=classpath:mapper/*.xml
#给项目起名字
spring.application.name=myprovider
#注册项目
eureka.client.service-url.defaultZone=http://localhost:8080/eureka

PS:如需一个对象为参数则需要@RequestBody注解,如果是其他数据类型则需要添加@RequestParam("XXX")注解,
PS:XXX就是参数的名字

消费者的建立
1、建立消费者(consumer),需要引入依赖。
Web--> Spring Web
Template Engines--> Thymeleaf
Spring Cloud Discovery--> Eureka Discovery Client
Spring Cloud Routing-->OpenFeign
2、在项目src-->main-->java-->com.XXX.XXXXX-->找到MyconsumerApplication(项目名字+Application)
在类方法上加@EnableEurekaClient,@EnableFeignClients这两个注解
3、找到项目中的application.properties,在其中加入以下语句:
[Java] 纯文本查看 复制代码
#设置端口号
server.port=8082
#给项目起名字
spring.application.name=myconsumer
#注册项目
eureka.client.service-url.defaultZone=http://localhost:8080/eureka

4、在消费者中建立一个文件夹(名字是Feign)在文件夹中建立类(名字为XXXFeign),
在其中编写远程调用相关配置
[Java] 纯文本查看 复制代码
@FeignClient("myprovider")
public interface TestFeign {
    @RequestMapping("index")
    public String a(@RequestParam("uname") String uname);
}

5、在Controllet中调用Feign
[Asm] 纯文本查看 复制代码
@Controller
public class UserController {
    @Autowired
    Ufeign ufeign;
    @RequestMapping("ajaxsel")
    @ResponseBody
    public List<User> l(){
        List<User> list=ufeign.a();
        return list;
    }


最后注意:
其中因为会遇到实体类的问题,所以需要创建公共实体类。
步骤为:
1、创建一个Maven项目,在Create from archetpe复选框前勾选上。
2、在下面的列表中找到org.apache.maven.archetypes:maven-archetype-quickstart,选中。然后点击next
3、接下来分别输入类型(groupId),名字(artifactId),版本号根据自己的需求决定是否改变。点击下一步即可创建公共实体类
4、之后会让你确认信息,点击下一步即可创建公共实体类。
5、在pom.xml中只保留以下信息
[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>

  <groupId>bean</groupId>
  <artifactId>module</artifactId>
  <version>1.0-SNAPSHOT</version>

</project>

6、在src-->main-->java-->bean创建公用的实体类。
7、删除其中的test文件夹
8、在右边找到Maven,点击展开后,找到项目名下面的Lifecycle展开后,
找到下面的install,双击。当出现以下内容时即创建成功。
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.369 s
[INFO] Finished at: 2019-10-26T16:57:15+08:00
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

资料终结者 发表于 2019-11-13 18:15
向大佬学习
DRAWFIRE 发表于 2019-11-13 18:20
如果开头有个大纲  这样理解起来就简单多了呢
 楼主| println 发表于 2019-11-13 20:23
可以的话,希望大家多提提意见。第一次发帖比不上论坛的大佬们,希望在学习技术的同时也分享一些自己的东西。
追逐太阳 发表于 2019-11-13 21:53
println 发表于 2019-11-13 20:23
可以的话,希望大家多提提意见。第一次发帖比不上论坛的大佬们,希望在学习技术的同时也分享一些自己的东西 ...

这是通过视频做的学习笔记??还是通过书籍做的demo??
 楼主| println 发表于 2019-11-13 22:23
追逐太阳 发表于 2019-11-13 21:53
这是通过视频做的学习笔记??还是通过书籍做的demo??

也是学习笔记,现在也在用这个做项目。
JacobsHash 发表于 2019-11-13 22:38
感谢楼主,最近刚好学到分布式,再次感谢!
墨白 发表于 2019-11-25 15:50
引入maven依赖的部分,可以直接丢<dependency>标签出来。
 楼主| println 发表于 2019-11-25 20:11
墨白 发表于 2019-11-25 15:50
引入maven依赖的部分,可以直接丢标签出来。

我觉得没有必要把这个丢出来,因为我说的很明确了。只要不傻我觉得应该是能找到吧?
露露的大雕 发表于 2019-12-2 17:41
字看着有点困难 不过不妨碍理解
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 18:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表