当前位置: 首页 > news >正文

遵义网站建公司网站建设覀金手指科杰

遵义网站建公司,网站建设覀金手指科杰,辽宁建设工程信息网联合体投标,手机视频网站开发文章目录 前言一、案例准备1. 技术选型2. 模块设计3. 微服务调用 二、创建父工程三、创建基础模块四、创建用户微服务五、创建商品微服务六、创建订单微服务 前言 ‌微服务环境搭建‌ 使用的电商项目中的商品、订单、用户为案例进行讲解。 一、案例准备 1. 技术选型 maven3.3.9 数据库MySQL 5.7 持久层: SpingData Jpa 其他: SpringCloud Alibaba 技术栈 2. 模块设计 springcloud-alibaba 父工程 shop-common 公共模块【实体类】 shop-user 用户微服务 【端口: 807x】 shop-product 商品微服务 【端口: 808x】 shop-order 订单微服务 【端口: 809x】 3. 微服务调用 在微服务架构中最常见的场景就是微服务之间的相互调用。我们以电商系统中常见的用户下单为例来演示微服务的调用客户向订单微服务发起一个下单的请求在进行保存订单之前需要调用商品微服务查询商品的信息。 我们一般把服务的主动调用方称为服务消费者把服务的被调用方称为服务提供者。 在这种场景下订单微服务就是一个服务消费者 商品微服务就是一个服务提供者。 二、创建父工程 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.3.RELEASE/version/parentgroupIdcom.itheima/groupIdartifactIdspringcloud-alibaba/artifactIdversion1.0-SNAPSHOT/versionpackagingpom/packagingpropertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-cloud.versionGreenwich.RELEASE/spring-cloud.versionspring-cloud-alibaba.version2.1.0.RELEASE/spring-cloudalibaba.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement /project版本对应 三、创建基础模块 创建 shop-common 模块在pom.xml中添加依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud-alibaba/artifactIdgroupIdcom.itheima/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-common/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.56/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.6/version/dependency/dependencies /project创建实体类 //用户 Entity(name shop_user) Data public class User {IdGeneratedValue(strategy GenerationType.IDENTITY)private Integer uid;//主键private String username;//用户名private String password;//密码private String telephone;//手机号 }//商品 Entity(name shop_product) Data public class Product {IdGeneratedValue(strategy GenerationType.IDENTITY)private Integer pid;//主键private String pname;//商品名称private Double pprice;//商品价格private Integer stock;//库存 }//订单 Entity(name shop_order) Data public class Order {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long oid;//订单idprivate Integer uid;//用户idprivate String username;//用户名private Integer pid;//商品idprivate String pname;//商品名称private Double pprice;//商品单价private Integer number;//购买数量 }四、创建用户微服务 步骤: 1 创建模块 导入依赖 2 创建SpringBoot主类 3 加入配置文件 4 创建必要的接口和实现类(controller service dao) 新建一个 shop-user 模块然后进行下面操作 创建pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud-alibaba/artifactIdgroupIdcom.itheima/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-user/artifactIddependenciesdependencygroupIdcom.itheima/groupIdartifactIdshop-common/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies /project编写主类 SpringBootApplication EnableDiscoveryClient public class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class args);} }创建配置文件 server:port: 8071spring:application:name: service-productdatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: rootjpa:properties:hibernate:hbm2ddl:auto: updatedialect: org.hibernate.dialect.MySQL5InnoDBDialect五、创建商品微服务 创建一个名为 shop_product 的模块并添加springboot依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud-alibaba/artifactIdgroupIdcom.itheima/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-product/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.itheima/groupIdartifactIdshop-common/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies /project创建工程的主类 package com.itheima;SpringBootApplication public class ProductApplication {public static void main(String[] args) {SpringApplication.run(ProductApplication.class args);} }创建配置文件application.yml server:port: 8081spring:application:name: service-productdatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: rootjpa:properties:hibernate:hbm2ddl:auto: updatedialect: org.hibernate.dialect.MySQL5InnoDBDialect创建ProductDao接口 package com.itheima.dao;public interface ProductDao extends JpaRepositoryProduct,Integer { }创建ProductService接口和实现类 package com.itheima.service.impl;Service public class ProductServiceImpl implements ProductService {Autowiredprivate ProductDao productDao;Overridepublic Product findByPid(Integer pid) {return productDao.findById(pid).get();} }创建Controller RestController Slf4j public class ProductController {Autowiredprivate ProductService productService;GetMapping(/product/{pid})public Product product(PathVariable(pid) Integer pid) {Product product productService.findByPid(pid);log.info(查询到商品: JSON.toJSONString(product));return product; } }启动工程等到数据库表创建完毕之后加入测试数据 INSERT INTO shop_product VALUE(NULL,小米,1000,5000); INSERT INTO shop_product VALUE(NULL,华为,2000,5000); INSERT INTO shop_product VALUE(NULL,苹果,3000,5000); INSERT INTO shop_product VALUE(NULL,OPPO,4000,5000);通过浏览器访问服务 六、创建订单微服务 创建一个名为 shop-order 的模块,并添加springboot依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud-alibaba/artifactIdgroupIdcom.itheima/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-order/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.itheima/groupIdartifactIdshop-common/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies /project创建工程的主类 package com.itheima;SpringBootApplication public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);} }创建配置文件application.yml server:port: 8091 spring:application:name: service-productdatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: rootjpa:properties:hibernate:hbm2ddl:auto: updatedialect: org.hibernate.dialect.MySQL5InnoDBDialect创建OrderDao接口 package com.itheima.dao;public interface OrderDao extends JpaRepositoryOrder,Long { }创建OrderService接口和实现类 Service public class OrderServiceImpl implements OrderService {Autowiredprivate OrderDao orderDao;Overridepublic void save(Order order) {orderDao.save(order);} }创建RestTemplate SpringBootApplication public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}Beanpublic RestTemplate getRestTemplate() {return new RestTemplate();} }创建Controller package com.itheima.controller;RestController Slf4j public class OrderController {Autowired private RestTemplate restTemplate;Autowired private OrderService orderService;//准备买1件商品 GetMapping(/order/prod/{pid}) public Order order(PathVariable(pid) Integer pid) {log.info(客户下单这时候要调用商品微服务查询商品信息);//通过restTemplate调用商品微服务Product product restTemplate.getForObject(http://localhost:8081/product/ pid, Product.class);log.info(商品信息,查询结果: JSON.toJSONString(product));Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(product.getPid());order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.save(order);return order;} }启动工程,通过浏览器访问服务进行测试 本文的引用仅限自我学习如有侵权请联系作者删除。 参考知识 传智教育·黑马程序员
http://www.w-s-a.com/news/133480/

相关文章:

  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名
  • 河南省住房建设厅官方网站注册公司邮箱需要什么
  • 美橙网站注册华为手机网站建设策划方案论文
  • 河南省和建设厅网站首页在线图片翻译
  • 关于备案空壳网站清理通知去别人网站挂黑链
  • 做网站待遇世界购物平台排行榜
  • 售后服务网站什么网站免费做简历模板
  • 网站模板怎么修改成都网站优化seo
  • 给装修公司做推广的网站wordpress站点的根目录
  • 怎么创建企业网站wordpress怎么做404页面跳转
  • 福建省住房和建设厅网站网站做著作权
  • 编程代码网站网站搭建的注意事项
  • 音乐网站排名公司如何做自己的网站
  • 网站设计模式三网合一网站源代码
  • 珠海市品牌网站建设哪家好宛城区网站制作
  • 网站维护工程师代写文章兼职
  • 贵州城乡和建设厅网站企业网站备案名称窍门
  • .cc后缀网站湛江霞山
  • 青岛制作网站软件ui设计培训哪里好
  • 网站建设的构思环保公司宣传册设计样本
  • 如何做微网站网站和网店的区别
  • 免费下载建设银行官方网站下载天河区做网站
  • 中文网站建设开发北京网站建设公司升上去
  • 邯郸网站设计 贝壳下拉服务器绑定网站打不开
  • 重庆网站建设帝玖科技手机网站建设价钱是多少
  • 广西建设厅网站行业网学新媒体运营要多少钱
  • 石家庄个人建站网站策划门户网什么意思
  • 沈阳市浑南区城乡建设局网站wordpress 批量打印
  • 网站建设都需学哪些天津网站建设交易