这篇文章主要介绍“基于java SpringCloud怎么搭建微服务”,在日常操作中,相信很多人在基于java SpringCloud怎么搭建微服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于java SpringCloud怎么搭建微服务”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、jdk1.8
2、springboot 2.0.6.RELEASE 以及SpringCloud相关服务
3、idea + maven
1itstack-demo-ddd-case 2└── src 3 ├── main 4 │ ├── java 5 │ │ └── org.itstack.demo 6 │ │ ├── application 7 │ │ │ ├── MallRuleService.java 8 │ │ │ └── MallTreeService.java 9 │ │ ├── domain10 │ │ │ ├── rule11 │ │ │ │ ├── model12 │ │ │ │ │ ├── aggregates13 │ │ │ │ │ │ └── UserRichInfo.java 14 │ │ │ │ │ └── vo15 │ │ │ │ │ ├── DecisionMatter.java16 │ │ │ │ │ ├── EngineResult.java17 │ │ │ │ │ ├── TreeNodeInfo.java18 │ │ │ │ │ ├── TreeNodeLineInfo.java 19 │ │ │ │ │ └── UserSchool.java 20 │ │ │ │ ├── repository21 │ │ │ │ │ └── IRuleRepository.java 22 │ │ │ │ └── service23 │ │ │ │ ├── engine24 │ │ │ │ │ ├── impl 25 │ │ │ │ │ └── EngineFilter.java 26 │ │ │ │ ├── logic27 │ │ │ │ │ ├── impl 28 │ │ │ │ │ └── LogicFilter.java 29 │ │ │ │ └── MallRuleServiceImpl.java 30 │ │ │ └── tree31 │ │ │ ├── model32 │ │ │ │ ├── aggregates33 │ │ │ │ │ └── TreeCollect.java 34 │ │ │ │ └── vo35 │ │ │ │ ├── TreeInfo.java 36 │ │ │ │ └── TreeRulePoint.java 37 │ │ │ ├── repository38 │ │ │ │ └── ITreeRepository.java 39 │ │ │ └── service40 │ │ │ └── MallTreeServiceImpl.java 41 │ │ ├── infrastructure42 │ │ │ ├── common43 │ │ │ │ └── Constants.java44 │ │ │ ├── dao45 │ │ │ │ ├── RuleTreeDao.java46 │ │ │ │ ├── RuleTreeNodeDao.java 47 │ │ │ │ └── RuleTreeNodeLineDao.java 48 │ │ │ ├── po49 │ │ │ │ ├── RuleTree.java50 │ │ │ │ ├── RuleTreeConfig.java51 │ │ │ │ ├── RuleTreeNode.java 52 │ │ │ │ └── RuleTreeNodeLine.java 53 │ │ │ ├── repository54 │ │ │ │ ├── cache55 │ │ │ │ │ └── RuleCacheRepository.java56 │ │ │ │ ├── mysql57 │ │ │ │ │ ├── RuleMysqlRepository.java 58 │ │ │ │ │ └── TreeMysqlRepository.java59 │ │ │ │ ├── RuleRepository.java 60 │ │ │ │ └── TreeRepository.java 61 │ │ │ └── util62 │ │ │ └── CacheUtil.java63 │ │ ├── interfaces64 │ │ │ ├── dto65 │ │ │ │ ├── DecisionMatterDTO.java66 │ │ │ │ └── TreeDTO.java 67 │ │ │ └── DDDController.java68 │ │ └── DDDApplication.java69 │ └── resources 70 │ ├── mybatis71 │ └── application.yml72 └── test73 └── java74 └── org.itstack.demo.test75 └── ApiTest.java
1itstack-demo-ddd-eureka-server 2└── src 3 ├── main 4 │ ├── java 5 │ │ └── org.itstack.demo 6 │ │ └── EurekaServerApplication.java 7 │ └── resources 8 │ └── application.yml 9 └── test10 └── java11 └── org.itstack.demo.test12 └── ApiTest.java
EurekaServerApplication.java | 启动服务
1/** 2 * 微信公众号:bugstack虫洞栈 | 专注原创技术专题案例 3 * 论坛:http://bugstack.cn 4 * Create by 付政委 on @2019 5 */ 6@SpringBootApplication 7@EnableEurekaServer 8public class EurekaServerApplication { 910 public static void main(String[] args) {11 SpringApplication.run( EurekaServerApplication.class, args );12 }1314}
application.yml | 服务配置
1server: 2 port: 8989 3 4eureka: 5 instance: 6 hostname: localhost 7 client: 8 registerWithEureka: false 9 fetchRegistry: false10 serviceUrl:11 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/1213spring:14 application:15 name: itstack-demo-ddd-eureka-server
1itstack-demo-ddd-feign 2└── src 3 ├── main 4 │ ├── java 5 │ │ └── org.itstack.demo 6 │ │ ├── domain 7 │ │ │ └── TreeDTO.java 8 │ │ ├── service 9 │ │ │ └── MallService.java10 │ │ ├── web11 │ │ │ └── FeignController.java12 │ │ └── FeignApplication.java13 │ └── resources 14 │ └── application.yml15 └── test16 └── java17 └── org.itstack.demo.test18 └── ApiTest.java
MallService.java | 通过注册方式调用API
1/** 2 * 微信公众号:bugstack虫洞栈 | 专注原创技术专题案例 3 * 论坛:http://bugstack.cn 4 * Create by 付政委 on @2019 5 */ 6@FeignClient(value = "itstack-demo-ddd-case") 7public interface MallService { 8 9 @RequestMapping(value = "/api/tree/queryTreeSummaryInfo", method = RequestMethod.POST)10 Object queryTreeSummaryInfo(@RequestBody TreeDTO request);1112}
FeignApplication.java | 启动服务
1/** 2 * 微信公众号:bugstack虫洞栈 | 专注原创技术专题案例 3 * 论坛:http://bugstack.cn 4 * Create by 付政委 on @2019 5 */ 6@SpringBootApplication 7@EnableEurekaClient 8@EnableDiscoveryClient 9@EnableFeignClients10public class FeignApplication {1112 public static void main(String[] args) {13 SpringApplication.run(FeignApplication.class, args);14 }1516}
application.yml | 服务配置
1server: 2 port: 9090 3 4spring: 5 application: 6 name: itstack-demo-ddd-feign 7 8eureka: 9 client:10 serviceUrl:11 defaultZone: http://localhost:8989/eureka/
1itstack-demo-ddd-zuul 2└── src 3 ├── main 4 │ ├── java 5 │ │ └── org.itstack.demo 6 │ │ └── ZuulApplication.java 7 │ └── resources 8 │ └── application.yml 9 └── test10 └── java11 └── org.itstack.demo.test12 └── ApiTest.java
ZuulApplication.java | 启动服务
1/** 2 * 微信公众号:bugstack虫洞栈 | 专注原创技术专题案例 3 * 论坛:http://bugstack.cn 4 * Create by 付政委 on @2019 5 */ 6@SpringBootApplication 7@EnableZuulProxy 8@EnableEurekaClient 9@EnableDiscoveryClient10public class ZuulApplication {1112 public static void main(String[] args) {13 SpringApplication.run(ZuulApplication.class, args);14 }1516}
application.yml | 服务配置{本案例是静态路由,按需可以开发为动态路由}
1server: 2 port: 9191 3 4spring: 5 application: 6 name: itstack-demo-ddd-zuul 7 8eureka: 9 client:10 serviceUrl:11 defaultZone: http://localhost:8989/eureka/12zuul:13 routes:14 api-a:15 path: /route-a/**16 serviceId: itstack-demo-ddd-feign17
按照顺序启动;itstack-demo-ddd-eureka-server、itstack-demo-ddd-case{可以模拟启动多个}、itstack-demo-ddd-feign、itstack-demo-ddd-zuul
访问;http://localhost:8989/ | 服务中心
![]()
访问:http://localhost:9191/route-a/api/queryTreeSummaryInfo?treeId=10001 | 通过网关路由调用DDD服务接口
到此,关于“基于java SpringCloud怎么搭建微服务”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/itstack/blog/4409633