博客信息

SpringCloud入门案例

发布时间:『 2019-04-27 22:41』  博客类别:SpringCloud  阅读(993)

总纲

本篇博客内容较多,请大家仔细阅读总纲


前面有学习过用springboot开发项目,使用springboot开发项目的好处在于能够快速的开发单体项目,很多框架整合无需配置,极大的提高了开发效率。使用springboot开发项目依然属于传统的开发模式,所有的代码都写在一个工程内。


Mvc模式相信已经被大家所熟知。Mvc模式是为了使的代码层次分明,便于维护,提供代码的健壮性;当项目过于臃肿的话,mvc模式的项目依然难于维护。


springcloud作为分布式服务技术的代表,在我看来其实就是对mvc模式的一种延伸。将整个项目的model层、dao层、service层、controller层等等进行拆分独立出来成为一个单独的项目,解决由于项目过于臃肿不便于维护所带来的一系列问题。

 

最简单的微服务架构会有四个工程

父工程:microservice

通用模块(M):microservice-common

服务提供者(C):microservice-student-provider-1001

服务消费者(C):microservice-student-consumer-80

 

微服务架构注意点:

1、springbootspringcloud版本在父工程定义;

2、由于通用模块无需操作数据库,springboot启动默认会读取数据库,所以得添加以下注解 @SpringBootApplication(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class});

3、分布式jpa需要在启动类上添加@EntityScan("com.javaxl.*.*");

4、消费者需要添加配置类获取org.springframework.web.client.RestTemplatespringcloud底层是通过RestTemplate来调用提供者的服务的。


传统项目拆分成微服务架构图

小李飞刀_SpringCloud


创建父工程microservice

父工程是一个maven项目,一般创建方式即可,父工程的主要用途是锁定pom依赖包版本。由于springcloud2X停止更新,这里我们采用稳定的低版本,配套的springboot版本为1x版本。

Pom.xml配置如下

pom.xml 


创建通用模块microservice-common

通用模块主要存放实体类、工具包等被整个微服务框架所使用的代码。创建一个简单的springboot模块即可。相关代码如下

pom.xml 

MicroserviceCommonApplication.java 

Student.java 


创建服务提供者microservice-student-provider-1001

创建一个简单的springboot模块,这里服务提供者需要操作数据库并且被浏览器所访问,固需要添加相关配置如下

pom.xml 

application.yml 

MicroserviceStudentProvider1001Application.java 

StudentRepository.java 

StudentService.java 

StudentServiceImpl.java 

StudentProviderController.java 


创建服务消费者microservice-student-consumer-80

服务消费者主要是通过restful api来调用提供者的接口,固不需要不需要操作数据库,相关配置如下

pom.xml 

application.yml 

MicroserviceStudentConsumer80Application.java 

SpringCloudConfig.java 

StudentConsumerController.java 


成功结果图如下

小李飞刀_springcloud

小李飞刀_SpringCloud








关键字:     SpringCloud  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有