携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情
新模块mall-third-service
为了更好的管理,所以我们把第三方的功能都放到一个模块里,这样层次清晰,分类明确 像短信服务、图片服务、视频服务等等都放在此模块,以后实际开发其实也是这种方式! 所以我们自己也要有这个分层的意识!
接口开发
一、配置文件
这里去除了mp的依赖,因为引入mp就需要配置数据库服务器地址
<dependencies>
<dependency>
<groupId>com.caq.mall</groupId>
<artifactId>mall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alicloud-oss</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
二、启动类添加注解
将第三方的模块也注册到注册中心,后面会不断的使用feign组件进行微服务之间调用 所以加入注册中心必不可少!
-
主启动类@EnableDiscoveryClient
-
application.yml配置文件如下:
这里的bucket其实是不存在的,是们我自己定义的属性,这是为了在代码中读取到名字
- ```
#用来指定注册中心地址
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848 #nacos地址
alicloud:
access-key: ...
secret-key: ...
oss:
endpoint: oss-cn-hangzhou.aliyuncs.com
bucket: pyy-mall
```
-
bootstrap.yml文件指定注册中心
-
#用来指定配置中心地址 spring: application: name: mall-third-service cloud: nacos: config: server-addr: 127.0.0.1:8848 namespace: 2bbd2076-36c8-44b2-9c2e-17ce5406afb7 file-extension: yaml extension-configs: - data-id: mall-third-service.yml group: DEFAULT_GROUP refresh: true
-
三、测试
@SpringBootTest
class MallThirdServiceApplicationTests {
@Resource
OSSClient ossClient;
@Test
void contextLoads() throws FileNotFoundException {
// 上传文件流。
InputStream inputStream = new FileInputStream("C:\Users\Jack\Desktop\LeetCode_Sharing.png");
ossClient.putObject("pyy-mall", "2022/testPhoto3.png", inputStream);
// 关闭OSSClient。
ossClient.shutdown();
System.out.println("上传完成...");
}
}
没问题,至此我们把OSS图片功能迁移到了第三方服务模块完成!以后再有第三方相关的服务也是一样引入此模块!