谷粒

1.git

  1.1 创建git仓库,添加ignore maven的格式

  1.2 idea导入git初始化代码

  1.3配置gitignore

**/mvnw
**/mvnw.cmd

**/.mvn
**/target/
.idea
**/.gitignore

2.后台系统

    2.1 人人开源的项目:https://gitee.com/renrenio/renren-fast

    2.3.逆向生成工具: https://gitee.com/renrenio/renren-generator

          2.3.1修改配置


mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=product
#作者
author=chenshun
#Email
email=sunlightcs@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=pms_

         2.3.2启动程序访问:http://localhost/#generator.html

         2.3.3将生成的包放入到项目中,以及添加相关包的依赖

         2.3.4整合mybatis

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.35.110:3306/gulimall_pms
    driver-class-name: com.mysql.jdbc.Driver
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
@SpringBootApplication
@MapperScan("com.atguigu.gulimall.product.dao")
public class GulimallProductApplication {
    public static void main(String[] args) {
        SpringApplication.run(GulimallProductApplication.class, args);
    }
}

3.分布式

  3.1nacos

    配置,jar依赖

  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: gulimall-coupon

  公共组件包下 

    <dependency>
           <groupId>com.alibaba.cloud</groupId>
           <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
       </dependency>


   </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

 

  下载nacos server启动

3.2启用feign

    3.2.1  引入openfeign

              A模块想调用B模块,A模块安装

    3.2.2  编写接口

        A模块创建一个openfeign的包里面编写接口 ,对应B模块的一个controller层的方法

//B模块中有对应的完整的方法
@FeignClient("gulimall-coupon")
public interface CouponFeignService {


    @RequestMapping("coupon/coupon/member/list")
    public R membercoupons();


}

    3.2.3 A模块启动类开启 :

       @EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")

             

  3.3nacos配置中心

    Ⅰ基础概念  

          1引入依赖

          2创建 bootstrap.properties

spring.application.name=gulimall-coupon  //服务的名字
spring.cloud.nacos.config.server-addr=127.0.0.1:8848  //nacos服务

         3需要给配置中心添加一个数据集

                    {Data Id} gulimall-coupon.properties规则:应用名.properties

         4给应用名.properties添加任何配置

         5动态配置

                 @RegfreshScope动态配置,刷新数据

                  @Value ("${配置项的名}");获取到配置

 

    Ⅱ 细节

           1.命名空间:配置隔离  默认public

                     1.1环境隔离

                              1开发环境,2.测试环境,3.生产环境

     切换命名空间 :做环境隔离

是prop的id
spring.cloud.nacos.config.namespace=c3fb0d67-6766-4697-ad3c-fbb1437cd73e

                   1.2.基于每一个微服务之间的相互隔离,每一个微服务创建自己的命名空间,只加载自己命名空间下的所有配置

     2.配置集:所有的配置的集合

     3. 配置集ID:类似文件名

     4.配置分组:

           默认default_group

 

spring.cloud.nacos.config.namespace=c3fb0d67-6766-4697-ad3c-fbb1437cd73e
spring.cloud.nacos.config.group=1111

Ⅲ同时加载多个配置集

 将datasource,mybatice和其他配置进行分组配置

在bootstrap.properties将dataID,相关yml进行配置 (可以替换编写的yml文件)

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=9e43a294-e8a1-493a-80a8-37be1a2d7a1c
#spring.cloud.nacos.config.group=1111
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true


spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true


spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true

 

3.3API网关 Gatway

         1.前端所有的请求先到达damin_route

  // api接口请求地址
  window.SITE_CONFIG['baseUrl'] = 'http://localhost:88//api';

            2.配置网关 

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
        - id: admin_route
          uri: lb://renren-fast  //lb 负载均衡
          predicates:
            - Path=/api/**
          filters:
            - RewritePath=/api/(?<segment>.*),/renren-fast/$\{segment}   
#  ## 前端项目,/api
### http://localhost:88/api/captcha.jpg   http://localhost:8080/renren-fast/captcha.jpg
### http://localhost:88/api/product/category/list/tree http://localhost:10000/product/category/list/tree

       3.配置跨域:端口号以及前面的路径有一点不一样都不行

 

           4.解决方案:

                ①使用nginx部署同一个域

                ②配置当次请求允许跨域只能有一个跨域配配置,网关中配置了,就不要在其他服务中再配置

@Configuration
public class GulimallCorsConfiguration {

    @Bean
    public CorsWebFilter corsWebFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

        CorsConfiguration corsConfiguration = new CorsConfiguration();

        //1、配置跨域
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.addAllowedOrigin("*");
        //允许携带cookis
        corsConfiguration.setAllowCredentials(true);

        source.registerCorsConfiguration("/**",corsConfiguration);
        return new CorsWebFilter(source);
    }
}

 

 

1.前端:

  1.1安装node.js  

      将仓库地址改为淘宝:npm config set registry http://registry.npm.taobao.org/

  

   2.1ES6 javaScript语法规范

             shift +! :html 快捷键

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值