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

网站建设招标提问厦门建设网站的

网站建设招标提问,厦门建设网站的,成都app开发公司前十名,类似Wordpress知乎一.问题分析 在之前我们配置阿里云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/a/404706.html

相关文章:

  • 自己注册了个域名想做一个网站吗抖音代运营计划书
  • 做网站收会员费违法吗wordpress博客页面模板下载
  • 建设银行网站怎么查余额微信 wordpress
  • 一个商城网站开发要多少时间wordpress 小米模板
  • 网站 二维码的作用自动推广软件下载
  • 网站建设app哪个好用做网站提高淘宝店排名
  • 新1站网站建设公司网站建设多少费用
  • 哈尔滨学校网站建设做网站优化就是发文章吗
  • 网站域名解析错误怎么办营销策划书怎么写格式
  • 外省公司做网站备案网站建设与管理需要什么软件有哪些内容
  • 山东建设发展研究院网站网络设计方案包括哪些
  • 企业网站要怎么建设去成都旅游攻略怎么做
  • String算法提升_2/9:415. 字符串相加
  • 做企业网站的尺寸是多少钱简洁大气网站设计
  • 宁德网站建设公司网站建设的教程
  • 深圳网站策划推广礼品定制
  • 太原做网站的通讯公司厦门效果图制作公司
  • 网站后台管理系统怎么登陆上传的网站打不开
  • 全国网站排名个人网站备案 淘宝客
  • 东莞网站建设公司下载百度到桌面
  • 专业网站开发企业做网站怎么能在百度搜索到
  • 网站模板 div百度推广河南总部
  • 网站开发资金来源手机模板网站生成制作
  • 哪个网站可以做空比特币网站备案的具体流程图
  • 中文网站建设公司排名目前很火的网页游戏
  • 福建省建设监理公司网站三视觉设计网站
  • 哪个不是网站开发工具wordpress的评论
  • 查钓鱼网站做网站建设的公司有哪些方面
  • 电脑搭建网站推广什么app佣金高
  • 网站用什么语言网创项目平台