http://blog.csdn.net/moshowgame
| 工程名 | 描述 | 端口 |
| spring-cloud-study-eureka | 服务发现与注册中心 | 8888 |
| spring-cloud-study-zuul | 动态转发路由器 | 7777 |
| spring-cloud-study-demo | DEMO项目(含websocket,json,不含jpa) | 9999 |
| spring-cloud-study-configcenter | 配置中心 | 5555 |
| spring-cloud-study-jpa | JPA(hibernate实现) | 4444 |
| spring-cloud-study-feign | 微服务远程调用 | 6666 |
| spring-cloud-study-redis | 热点数据缓存 | 2222 |
| spring-cloud-study-jms | JMS(Java消息服务,ActiveMQ实现) | 1111 |
| spring-cloud-study-mybatisplus | mybatisplus(mybatis的加强版) | 3333 |
| spring-cloud-study-poi | poi导入 | 8899 |
###一、运行环境
- 版本:Spring-Cloud 2.0
- 环境:JDK1.8(8~10都可以)
- 编码:UTF-8
- IDE:Spring Tool Suit(STS)
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
###二、有关项目启动和配置的说明
- 最先启动的是spring-cloud-study-eureka,因为它是注册中心,大多数微服务必须依赖于它才能实现必要的功能。
- 接着zuul路由中心,启用spring-cloud-study-zuul,并配置yml文件即可(已经带了一点小配置,可根据实际情况修改)。
- 然后启用spring-cloud-study-demo,这是一个demo项目
- 可以启用spring-cloud-study-configcenter,这里可以从yml或者其他地方读取并统一配置变量
- 可以启用spring-cloud-study-jpa,配置一下yml里面数据库连接池的地址,默认是127.0.0.1:3306 root/root,
启动项目可以自动建表,使用init方法可以自动初始化语句,无需自己动数据库
- 可以启动spring-cloud-study-feign,他会远程调用demo的内容
- 可以单独启动spring-cloud-study-redis需要自己启动一个redis,参考https://blog.csdn.net/moshowgame/article/details/80792774
- 可以单独启动spring-cloud-study-jms,已经内置ActiveMQ,也可以自己额外配置,详情请看https://blog.csdn.net/moshowgame/article/details/80836621
###三、使用说明
注册中心这个优先启动,是一切微服务的基础也可以修改配置,进行集群,这里默认单机单例
| http://127.0.0.1:8888/eureka | 注册中心 |
分发方式一,分发搭配/api1,修改yml就可以了,推荐用指定serviceId的
分发方式二,分发路由,直接根据serviceId访问,无需配置
转发的ServiceId是根据项目配置的spring:application:name: spring-cloud-study-demo 来的
| http://127.0.0.1:7777/spring-cloud-study-demo/demo/index | 自动分发请求 |
| http://127.0.0.1:7777/api2/demo/index | 路由转发请求到配置文件配置的/api2上 |
| http://127.0.0.1:7777/api1/demo/socket/222 | 路由转发请求到配置文件配置的/api1上 |
正常的访问请求而已,返回json什么的
还支持websocket,对WebSocket不懂的可以看我这个文章https://blog.csdn.net/moshowgame/article/details/80275084
| http://127.0.0.1:9999/demo/socket/222 | websocket请求页面 |
| http://127.0.0.1:9999/demo/index | json数据返回 |
| http://127.0.0.1:9999/demosocket/222 | socket请求地址 |
| http://127.0.0.1:9999/basepath | 获取微服务路径 |
配置中心,用于读取公共配置文件
| http://127.0.0.1:5555/getparam | 获取变量 |
| http://127.0.0.1:5555/application/dev | 获取application-dev.yml的变量 |
已经脱离eureka,需要加入的话自己去掉pom和启动器的eureka相关注释即可。另外,只要数据库连接正常,启动项目可以自动建表,使用init方法可以自动初始化数据,无需自己动数据库
| http://127.0.0.1:4444/jpa/user/init/8899 | 初始化8899的用户 |
| http://127.0.0.1:4444/jpa/user/roles/8899 | 获取8899用户的角色 |
feign用于远程调用微服务,这里用来调用demo的内容,请先启动eureka+demo再启动这个
具体配置可以看我的文章https://blog.csdn.net/moshowgame/article/details/80616624
操作实名参考https://blog.csdn.net/moshowgame/article/details/80792774
| 【放入缓存】 | http://localhost:2222/redis/item/2 | {"itemId":2,"itemName":"德玛西亚2"} |
| 【放入缓存】 | http://localhost:2222/redis/item/3 | {"itemId":3,"itemName":"德玛西亚3"} |
| 【读取缓存(可以去RedisDesktopManager看一下,已经有数据了)】 | http://localhost:2222/redis/item/2 | {"itemId":2,"itemName":"德玛西亚2"} |
| 【读取缓存(可以去RedisDesktopManager看一下,已经有数据了)】 | http://localhost:2222/redis/item/3 | {"itemId":3,"itemName":"德玛西亚3"} |
| 【放入list缓存】 | http://localhost:2222/redis/item/all | [{"itemId":666,"itemName":"德玛西亚666"},{"itemId":999,"itemName":"德玛西亚999"}] |
| 【读取list缓存(这是一个空方法,只是因为有了缓存才有数据)】 | http://localhost:2222/redis/item/all2 | [{"itemId":666,"itemName":"德玛西亚666"},{"itemId":999,"itemName":"德玛西亚999"}] |
| 【更新缓存】 | http://localhost:2222/redis/item/2/update | {"itemId":2,"itemName":"德玛西亚XXX2"} |
| 【重新读取缓存】 | http://localhost:2222/redis/item/2 | {"itemId":2,"itemName":"德玛西亚XXX2"} |
| 【EL表达式指定KEY】 | 访问地址 http://localhost:2222/redis/item/object?itemId=4&itemName=XXXX | 返回结果 {"itemId":4,"itemName":"XXXX"} |
| 【获取缓存(结果不变还是XXXX不是4444)】 | 访问地址 http://localhost:2222/redis/item/object?itemId=4&itemName=4444 | 返回结果 {"itemId":4,"itemName":"XXXX"} |
概念和操作可以参考https://blog.csdn.net/moshowgame/article/details/80836621
| 发送消息 | http://localhost:1111/jms/email/send | 控制台显示Received |
Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段,无入侵全方位 ORM 辅助层让您拥有更多时间陪家人。
具体配置可以看我的文章https://blog.csdn.net/moshowgame/article/details/81008485
| http://127.0.0.1:3333/mybatisplus/user/init | 数据初始化 |
| http://127.0.0.1:3333/mybatisplus/user/find | 通过QueryWarrap构造器查询 |
很多时候我们网站或者系统需要提供一些word文件,例如证明.docx或者订单.docx等文件供用户下载打印等。
用Java操作word文档,毫无疑问,当下最流行apache poi,对于poi如何操作word文档,这里不作过多介绍。
这里主要讲解如何通过一个制作好的word模板文件,通过数据填充,生成加工好的word文件。
具体可以看我的文章https://blog.csdn.net/moshowgame/article/details/81702029
| http://localhost:8899/poi/generateWord | 通过Word模板生成Word文件 |
###四、版本更新
☛20181112 update:
1.优化mybatis-plus模块的导入,使用mybatis-plus stater简化操作 ☛20180815 update:
1.new POI-TL project
☛20180711 update:
1.new MybatisPlus project
☛20180627 update:
1.new Jms project
☛20180624 update:
1.new Redis project
☛20180609 update:
1.new feign project
2.优化说明
☛20180603 update:
1.new jpa project
2.优化调整
☛20180602 update:
1.优化调整
2.new configcenter project