当前位置: 首页 > wzjs >正文

电子商务网站建设含代码谷歌浏览器下载官网

电子商务网站建设含代码,谷歌浏览器下载官网,常州市教育基本建设与装备管理中心网站,网站租用空间价格一.问题分析 在之前我们配置阿里云OSS对象存储模型时,使用Value注解将配置文件中的属性注入到阿里云OSS的utils工具类当中。但是如果要注入的属性特别多,那么使用Value注解将十分繁琐,因为要一个一个的注入。 为了解决上述问题,我…

一.问题分析

在之前我们配置阿里云OSS对象存储模型时,使用@Value注解将配置文件中的属性注入到阿里云OSS的utils工具类当中。但是如果要注入的属性特别多,那么使用@Value注解将十分繁琐,因为要一个一个的注入。

为了解决上述问题,我们可以引入@ConfigurationProperties注解来一起注入。

二.@ConfigurationProperties注解

首先我们需要定义一个AliOSSProperties.java的属性类,将aliyun.oss的属性加入进去。并为该类加上@Data注解提供get/set方法,加上@Component注解将该类的实例对象作为bean对象注入到容器中,从而可以使用@Autowired注解进行依赖注入。

AliOSSProperties.java

package com.gjw.util;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Component
@Data
@ConfigurationProperties(prefix = "aliyun.oss")
public class AliOSSProperties {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;
}

我们要使用@ConfigurationProperties注解,并在@ConfigurationProperties注解中定义prefix属性来指定要配置的属性名的前缀。指定之后,@ConfigurationProperties注解就可以实现将对应属性和配置文件中的属性相对应,进而实现值传递。

AliOSSUtils.java

package com.gjw.util;import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.UUID;/*** 阿里云 OSS 工具类*/
@Data
@Component  // 使用Component实现控制反转(该工具类不属于controller,service,mapper/Dao)
public class AliOSSUtils {/*@Value("${aliyun.oss.endpoint}")private String endpoint;@Value("${aliyun.oss.accessKeyId}")private String accessKeyId;@Value("${aliyun.oss.accessKeySecret}")private String accessKeySecret;@Value("${aliyun.oss.bucketName}")private String bucketName;
*/@Autowiredprivate AliOSSProperties aliOSSProperties;/*** 实现上传图片到OSS*/public String upload(MultipartFile file) throws IOException {String endpoint = aliOSSProperties.getEndpoint();String accessKeyId = aliOSSProperties.getAccessKeyId();String accessKeySecret = aliOSSProperties.getAccessKeySecret();String bucketName = aliOSSProperties.getBucketName();// 获取上传的文件的输入流InputStream inputStream = file.getInputStream();// 避免文件覆盖String originalFilename = file.getOriginalFilename();String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));//上传文件到 OSSOSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, inputStream);//文件访问路径String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;// 关闭ossClientossClient.shutdown();return url;// 把上传到oss的路径返回}}

在AliOSSUtils.java中,我们通过依赖注入将AliOSSProperties的实例化对象注入进来,并调用其get方法即可完成对应配置的属性值的获取,进而在工具类中使用。

三.@ConfigurationProperties和@Value注解的对比

四.解决出现的警告(可选)

 当使用@ConfigurationProperties注解后,会出现警告,但不影响程序运行。原因是我们没有配置依赖。在pom文件中配置一下该依赖即可,配置后我们在yml文件中输入aliyun后会自动提示出来其要配置的属性值。

pom文件中加入此,解决。

会自动联想出来。

http://www.dtcms.com/wzjs/255472.html

相关文章:

  • 网站建设分几个阶段白度指数
  • 备案的网站如何访问百度网站收录查询
  • 响应式网站怎么写电商运营是做什么的
  • 广州黄埔做网站公司哪家好深度优化
  • 网站建设收费价目表百度销售岗位怎么样
  • 深圳 企业 网站建设广州谷歌seo公司
  • 一个网站怎么建设临沧seo
  • 兰州网站开发价格搜索引擎优化概述
  • 各种类型网站建设百度的营销方式有哪些
  • 网站手机版怎么制作网站注册时间查询
  • 做阿里巴巴网站要多少钱seo建站教学
  • 大学生个人简历电子版沈阳关键词优化费用
  • 南京的网站建设公司哪家好百度推广开户公司
  • 佛山三水今日疫情百度关键词优化工具
  • 网站设计 宽度中国女排联赛排名
  • 有什么做美食的视频网站重庆seo教程
  • 武汉比较大的做网站的公司百度指数介绍
  • 做网站 需要什么样的服务器seo优化公司
  • 微信二级分销模式seo工具大全
  • 健身餐的网站怎么做网络口碑营销案例分析
  • 网络营销推广的岗位职责有seo搜索引擎优化实战
  • 重庆的企业的网站建设广告推广语
  • 深圳餐饮网站设计山东今日头条新闻
  • 网络广告营销的特性深圳seo网站优化公司
  • 用自己的服务器做网站简述网络营销的概念
  • 做网站怎么每天更新内容百度收录网站
  • 网站开发的背景的讲解广州网站外包
  • 网站制作网站建设单位前端seo搜索引擎优化
  • 网站建设合同 保密条款360收录批量查询
  • 四川成都网站制作公司一站式快速网站排名多少钱