谷粒商城1.项目简介和项目环境预搭建(项目概述和环境搭建代码)
创始人
2024-03-01 01:39:34

一.商城项目总体架构

  • 从讲课篇看
    在这里插入图片描述
  • 从分块来看
    在这里插入图片描述
  • 项目知识概述
    在这里插入图片描述

二.环境搭建代码

1.项目架构

  1. 建立父工程 pom文件
 聚合服务pomgulimall-coupongulimall-membergulimall-ordergulimall-productgulimall-warerenren-fastrenren-generatorgulimall-commongulimall-commongulimall-gateway
  1. 建立每个子工程(微服务)
  2. 建立公共服务模块,即可以将公共工具类,公共pom引入放入公共工具类
 gulimallcom.atguigu.gulimall0.0.1-SNAPSHOT4.0.0gulimall-common每一个微服务公共的依赖,bean,工具类等
  1. 其他服务引入该公共服务模块
  com.atguigu.gulimallgulimall-common0.0.1-SNAPSHOT

2.Nacos注册中心(微服务注册到Nacos中)

  1. Nacos依赖引入
 
com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discovery

  1. 开启注解驱动
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {public static void main(String[] args) {SpringApplication.run(GulimallCouponApplication.class, args);}}
  1. 配置Nacos注册中心地址以及该微服务名称
spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848application:name: gulimall-coupon
  1. Nacos中会有名称对应地址的注册

3.远程调用Feign

  1. 引入pom文件
        org.springframework.cloudspring-cloud-starter-openfeign
  1. 注意被调用服务需要在Nacos注册中心中注册
  2. 调用者编写接口
/*** 这是一个声明式远程调用*/
@FeignClient("gulimall-coupon")
public interface CouponFeignService {@RequestMapping("/coupon/coupon/member/list")public R memberCoupons();
}
  1. 被调用者注册在Nacos中的映射 和其controller
    gulimall-coupon:127.0.0.1:8848
@RequestMapping("coupon/coupon")
public class CouponController {//远程服务调用示例@RequestMapping("/member/list")public R memberCoupons(){CouponEntity couponEntity = new CouponEntity();couponEntity.setCouponName("满一百减十");return R.ok().put("coupons", Arrays.asList(couponEntity));}
}
  1. 开启注解驱动并指定某包下全为feign
@EnableFeignClients("com.atguigu.gulimall.member.feign")
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallMemberApplication {public static void main(String[] args) {SpringApplication.run(GulimallMemberApplication.class, args);}
}
  1. 调用者调用服务接口
    public R test(){MemberEntity memberEntity = new MemberEntity();memberEntity.setNickname("张三");R r = couponFeignService.memberCoupons();return R.ok().put("member",memberEntity).put("coupons",r.get("coupons"));}

4.Nacos作为配置中心

  1. 引入pom文件
        com.alibaba.cloudspring-cloud-starter-alibaba-nacos-config
  1. 利用bootstrap.properties动态拉取Nacos中的配置
spring.application.name=gulimall-couponspring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=66f939a7-03fb-4a3a-9e8c-663cc37fd464
#加载默认配置文件 即名字为gulimall-coupon.properties的组名(如果没有则读本地的properties)
spring.cloud.nacos.config.group=prod#可以读取多个配置文件
spring.cloud.nacos.config.ext-config[0].dataId=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=truespring.cloud.nacos.config.ext-config[1].dataId=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=truespring.cloud.nacos.config.ext-config[2].dataId=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true
  1. 配置也可在controller中获得
    @Value("${coupon.user.name}")private String name;@Value("${coupon.user.age}")private Integer age;
  1. 命名空间和配置分组的使用与配置
    命名空间:每个微服务创建自己的命名空间
    配置分组:区分环境(dev,test,prop)

5.gateway作为API网关(route->断言->过滤)

  1. 引入依赖
        org.springframework.cloudspring-cloud-starter-gateway
  1. 配置routes规则
spring:cloud:gateway:routes:- id: baidu_routeuri: https://www.baidu.compredicates:#符合参数中有url=baidu则转发到上述uri- Query=url,baidu- id: qq_routeuri: https://www.qq.compredicates:#符合参数中url=qq- Query=url,qq
  1. 访问即可

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...