1、启动报错:
内容:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'attrAttrgroupRelationController': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atguigu.gulimall.product.app.AttrAttrgroupRelationController] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
处理:
1、common模块的jar包没打包,install一下就好了。
2、springcloud的版本和springboot的版本不一致,最好和视频里的保持一致。
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.8.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.atguigu.gulimall</groupId><artifactId>gulimall-product</artifactId><version>0.0.1-SNAPSHOT</version><name>gulimall-product</name><description>gulimall-product</description><properties><java.version>1.8</java.version><spring-cloud.version>Greenwich.SR3</spring-cloud.version></properties>
2、微服务 springcloud Alibaba
配置中心和注册中心 nacos
nacos 版本 1.1.3 下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.3
注解: @EnableDiscoveryClient 开启服务注册功能
注册中心:
远程调用别的服务:
1、引入openFeign
2、编写一个接口,告诉springcloud这个接口需要调用远程服务 feign目录 CouponFeignService @FeignClient(“gulimall-coupon”)
3、声明接口的每一个方法都是调用哪个远程服务的哪个请求
4、开启远程调用功能 @EnableFeignClients(basePackages = “com.atguigu.gulimall.member.feign”)
配置中心:
添加bootstrap.properties以及配置内容:
spring.application.name=nacos-config-example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
1、在nacos中添加数据集(Data Id) eg:gulimall-coupon.properties,默认规则:应用名.properties
2、动态获取配置 优先使用配置中心的值
@RefreshScope 动态获取并刷新配置
@Value ${“配置项的名字”},获取配置
细节:
命名空间:配置隔离 默认是public
1、开发测试环境
在bootstrap.properties中添加:spring.cloud.nacos.config.namespace=388e3739-bc56-4136-bcc9-d20a220af3e0
2、每一个微服务之间进行配置隔离
配置集
配置集ID:
配置分组
微服务中所有配置都可以放到配置中心 ,只需要在bootstrap.properties文件中指定命名空间和配置文件名就好了
3、网关启动报错:
Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. Please remove spring-boot-starter-web dependency.
处理:删除pom中的web依赖
4、网关请求报错:
java.lang.ClassCastException: org.springframework.core.io.buffer.DefaultDataBufferFactory cannot be cast to org.springframework.core.io.buffer.NettyDataBufferFactory
处理方法:删除tomcat依赖
5、renren-fast模块嵌入nacos,开启服务注册时,一直出现找不到包:
程序包org.springframework.cloud.client.discovery不存在
For this reason, future Maven versions might no longer support building such malformed projects.
处理方法:
依赖冲突,renren-fast默认导入的2.1.2版本删了之后重新导的2.1.3版本后才成功
6、common模块导入oss依赖包之后,product一直显示找不到包。
处理方法:刷maven和把所有项目clean之后在package就可以了。
7、服务端签名上传oss,出现跨域问题:
处理方法:
8、oss访问出现403报错:
前端获取解析后端的参数报错: accessid 修改为 accessId。