栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

谷粒商城-基础篇-DAY1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

谷粒商城-基础篇-DAY1

一、人人开源搭建后台管理页面

1.整合renren-fast
    下载renren-fast、renren-vuerenren-fast加入gulimall项目


3. 创建renren-fast数据库,并且修改新的数据源

2.配置前端环境
    下载node.js,并配置npm淘宝镜像
npm config set registry https://registry.npm.taobao.org

    vscode终端中,输入 npm install
    版本最好与教程一致

    构建成功后,npd run dev进行部署

3.配置代码生成器

    下载renren-generator修改项目中的数据源、properties,依次生成各项目的代码


3. 控制台逆向生成代码并替换
导入新的代码以后发现很多依赖没有,报红,这时候需要添加这些依赖
4. 创建common工程,把通用代码导入
5. 各微服务依赖common工程

    

        
            com.baomidou
            mybatis-plus-boot-starter
            3.2.0
        

        
            org.projectlombok
            lombok
            1.18.8
        

        
            org.apache.httpcomponents
            httpcore
            4.4.12
        

        
            commons-lang
            commons-lang
            2.6
        

        
            mysql
            mysql-connector-java
            8.0.17
        

        
            javax.servlet
            servlet-api
            2.5
            provided
        
    
4.整合Mybatis-Plus
1.导入数据库驱动
2.在yml配置数据源相关信息
3.mybatis-plus配置@MapperScan
4.配置sql映射文件位置

mybatis-plus:
  加*的意思是扫描所有的classpath路径,包括引入的jar包
  mapper-locations: classpath*:/mapper*.xml
  全局配置自增主键
  global-config:
    db-config:
      id-type: auto

整合过程中,实例类报错

二、分布式中心,SpringCloud Alibaba引入

1.Common包引入SpringCloud Alibaba

    
    
    
        com.alibaba.cloud
        spring-cloud-alibaba-dependencies
        2.1.0.RELEASE
        pom
        import
    
    

二.Nacos-注册中心 1.引入依赖
        
            com.alibaba.cloud
            spring-cloud-alibaba-nacos-discovery
        
2.配置文件配置Nacos Server地址
spring:
    cloud:
      nacos:
        discovery:
          server-addr: 49.232.96.7:8848
    application:
      name: gulimall-coupon
3.开启注册发现

使用@EnableDiscoveryClient注解开始服务注册与发现

4.Nacos管理页面查看是否注册成功

三、使用Feign远程调用

Feign是一个声明式的HTTP客户端,它的目的就是让远程调用更加简单。Feign提供了HTTP请求模板,通过编写简单的接口和插入注释,就可以定义好HTTP请求的参数、格式、地址。
Feign整合了Ribbon(负载均衡)和Hystrix(服务熔断),可以让我们不再需要显式的使用这两个组件。

1.引入依赖
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        
2.声明远程调用接口

被调用方

@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
    @Autowired
    private CouponService couponService;
    @RequestMapping("/member/list")
    public R membercoupons(){
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setCouponName("满100减10");
        return R.ok().put("coupons",Arrays.asList(couponEntity));
    }

调用方

@FeignClient("gulimall-coupon")
public interface CouponFeignService {
    @RequestMapping("/coupon/coupon/member/list")
    public R membercoupons();
}

开启远程调用功能

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")
public class GulimallMemberApplication {
    public static void main(String[] args) {
        SpringApplication.run(GulimallMemberApplication.class, args);
    }
}

在member服务远程调用coupon的服务

@Autowired
CouponFeignService couponFeignService;
@RequestMapping("coupons")
public R test(){
    MemberEntity member = new MemberEntity();
    member.setNickname("张三");
    R membercoupons = couponFeignService.membercoupons();
    Object coupons = membercoupons.get("coupons");
    return R.ok().put("member",member).put("coupons",coupons);
}

如果被调用的服务没启动,则会报错500

四、Nacos-配置中心 1.示例 1.引入依赖
        
            com.alibaba.cloud
            spring-cloud-alibaba-nacos-config
        
2.配置bootstrap.properties
spring.application.name=gulimall-coupon

spring.cloud.nacos.config.server-addr=49.232.96.7:8848
3.在Nacos中新建配置文件

4.在相应的Controller加入注解,动态刷新配置
@Value("${}")
@RefreshScope
2.命名空间和配置分组 1.命名空间(环境隔离、微服务隔离)

主要用作配置隔离,默认为public,新增的所有配置都在public空间
在Nacos控制台新建dev、prop、test命名空间
如果需要指定命名空间,需要在bootstrap.properties进行配置


id为Nacos自动生成的id

2.配置集:所有的配置的集合 3.配置集ID:类似文件名

Data ID :文件名

4.配置分组:Group

每个微服务创建自己的命名空间,使用配置分组来区分环境,dev,prod,test

spring.cloud.nacos.config.group=

5.加载多配置集
spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=datasource.yml
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[1].group=datasource.yml
spring.cloud.nacos.config.ext-config[1].refresh=true
五、Gateway

网关作为流量入口,常用功能包括路由转发、权限校验、限流控制。SpringCloud gateway作为SpringCloud的第二代网关框架,取代了Zuul网关。

1.示例 1.开启服务注册发现

配置nacos的注册中心地址,配置application.properties、bootstrap.properties

2.application.yml配置路由规则
spring:
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: https://www.baidu.com
          predicates:
            - Query=url,baidu
        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq
3.输入url,符合断言即可转发

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749928.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号