minio使用与注解事务管理

news2024/9/27 19:21:07

目录

一、minio启动

1、创建文件夹

2、cmd启动

3、查看端口地址以及密码

二、minio使用步骤

1、创建bucket,并且把Access Policy设置成public

2、代码

三、注解事务管理 

一、minio启动

1、创建文件夹

2、cmd启动

3、查看端口地址以及密码

二、minio使用步骤

1、创建bucket,并且把Access Policy设置成public

2、代码

public class CommonServiceImpl implements CommonService {

    @Autowired
    private MinioProperties properties;

    @Override
    public String upload(MultipartFile file) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        // 创建一个Minio的客户端对象
        MinioClient minioClient = MinioClient.builder()
                .endpoint(properties.getEndpointUrl())
                .credentials(properties.getAccessKey(), properties.getSecreKey())
                .build();

        boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(properties.getBucketName()).build());

        // 如果不存在,那么此时就创建一个新的桶
        if (!found) {
            minioClient.makeBucket(MakeBucketArgs.builder().bucket(properties.getBucketName()).build());
        } else {  // 如果存在打印信息
            System.out.println("Bucket 'spzx-bucket' already exists.");
        }

       //获取文件名称
        //String filename = file.getOriginalFilename();
        //1、需要让每个上传文件名字唯一

        //2、根据当前日期,对当前文件进行分组 20240823

        //20240823/1.jpg,20240823自动会创建成文件夹
        String dateDir = DateUtil.format(new Date(), "yyyyMMdd");
        String uuid = UUID.randomUUID().toString().replaceAll("-", "");
        String filename = dateDir + "/" + uuid + file.getOriginalFilename();

        //文件上传
        minioClient.putObject(PutObjectArgs.builder().bucket(properties.getBucketName())
                .object(filename)
                .contentType("image/jpeg")
                .stream(file.getInputStream(),file.getSize(),-1)
                .build());
        //获取上传文件在minio路径
        // 构建fileUrl
        String url = properties.getEndpointUrl()+"/"+properties.getBucketName()+"/"+filename ;
        return url;
    }
}

三、注解事务管理 

启动类增加注解@EnableTransactionManagement //开启注解方式的事务管理

业务实现方法增加注解@Transactional

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2067158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app开发日志:实现无限层级树形分类页面,通过schema2code生成代码并在此基础上完善修改list、add和edit页面

本文中省略很多开发说明,可能需有一定uniapp的实战基础的朋友才能看明白。 schema2code 生成的无限级分类页面只提供超简易版的功能,没有层级选择,只能自己填入父类ID,列表的时候也是全部显示,没有层级关系&#xff0c…

闲置物品交易平台网站商城-计算机毕设Java|springboot实战项目

🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…

WIFI 频段及信道简介

一、WiFi 三频AP规划信道时,建议分别采用2.4G、5.2G、5.8G频段可用信道。 2.4G频段;5.2G频段;5.8G频段。 1、中国5G WiFi频段 5.8GHz频段,中国开放只有149、153、157、161、165这5个信道; 其中可支持一组80MHz信道…

Linux 软件编程 数据库与网页

sqlite3数据库操作效率: 1.增加事务机制 2.关闭数据库磁盘同步写入 3.使用预处理SQL语句机制实现提升数据库效率 事务机制: 1.可以提高sqlite处理数据的效率 2.确保数据的一致性 关闭数据库中写同步机制: 在…

文献阅读:单细胞分辨率下小鼠大脑衰老的分子和空间特征

文献介绍 文献题目: Molecular and spatial signatures of mouse brain aging at single-cell resolution 研究团队: 庄小威(美国哈佛大学)、Catherine Dulac(美国哈佛大学) 发表时间: 2022-12…

具有手势识别的动捕设备——mHand Pro VR数据手套

数据手套是指通过手套内置的传感器,实时采集手部运动数据的动捕设备,通常被应用于虚拟仿真、虚拟现实vr交互、动画制作等领域。其中,基于惯性动作捕捉技术研发的数据手套,凭借其高性价比的优势,在市面上的应用更为广泛…

数据驱动的社交网络:分析Facebook的算法与用户体验

在现代社交网络中,Facebook以其庞大的用户基础和数据驱动的算法而著称。这些算法不仅决定了用户在平台上的体验,也深刻影响了他们与内容的互动方式。本文将深入分析Facebook的算法如何通过数据驱动优化用户体验,并探讨其在社交网络中的作用。…

图片合集

文章目录 线段树 8.23 线段树 8.23

企业网中网关的部署位置浅析

园区网网关部署位置 园区网络中的终端设备,想要访问外部的Internet,第一步首先要找自己的网关设备。然后通过网关设备再进入园区网内部进行数据路由。 一般园区网的网关部署方案有两类: 一、园区网关部署在汇聚层 如果把网关部署在汇聚交换…

安利一款企业都在用的Ser-U替代产品

Ser-U,这款历史悠久的FTP服务器软件,曾经在市场上占据着主导地位。然而,随着技术的不断进步,一些新兴的竞争对手开始崭露头角,比如镭速这样的替代品,正在逐渐成为企业的新宠。那么,企业为何要寻…

医院住院管理系统+vue

TOC ssm012医院住院管理系统vue 第1章 绪论 1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对医院住院管理系统方面的要求也在不断提高,随着医院住院管理系统受到广大用户的关注&…

CVPR 2024论文分享┆LMDrive:基于大模型的闭环端到端自动驾驶

论文简介 本推文主要介绍2024 CVPR接收的一篇论文《LMDrive: Closed-Loop End-to-End Driving with Large Language Models》,该论文提出了一种名为LMDrive的创新方法,展示了如何利用大型语言模型在自动驾驶系统中进行闭环的端到端驾驶控制。传统的自动…

用Python制作一个可以预测天气的程序(附代码)

要用Python制作一个简单的天气预报应用,你可以使用多种方法,但最常见和方便的是利用现有的天气API(如OpenWeatherMap、Weatherbit、AccuWeather等)。这里,我将以OpenWeatherMap为例,展示如何编写一个简单的…

pikachu SSRF通关(服务器端请求伪造)

开始闯关吧 一共有两关 第1关 SSRF(curl) 按照指示点击下图蓝色字体的链接 得到了下图地址栏里的带参数的url,参数名是url, PHP的curl PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。 libcurl目前…

融合定位系统的误差与什么有关

在当今科技日新月异的时代,融合定位系统作为精准导航与定位的关键技术,广泛应用于智能手机、自动驾驶、无人机及智能物流等领域。然而,这一技术的准确性并非无懈可击,其误差来源复杂多样,深刻影响着定位精度与用户体验…

在线制作9png的好网站

https://inloop.github.io/shadow4android/ fook : https://github.com/inloop/shadow4android

常用科研工具(持续更新)

正所谓,工欲善其事,必先利其器。想要更好的做好科研,相应的科研工具必不可少。下面介绍一些科研工具。 1、Zotero 2、Watt ToolKit 3、paperwithcode 4、Typora 5、kaggle 1、文献管理 对于文献管理,必然少不了Zotero。之前看文献都是放在文…

Selenium与Web Scraping:自动化获取电影名称和评分的实战指南

背景/引言 在信息化高度发展的今天,获取数据的能力变得尤为重要。通过 Web Scraping,我们可以从动态网页中提取有价值的信息,例如在豆瓣电影中获取电影名称和评分。然而,随着网站反爬虫措施的不断增强,传统的抓取技术…

001-springcloud-base工程创建

文章目录 前言SpringCloud与SpringBoot 对应版本SpringCloud与SpringCloudAlibaba对应版本官方文档 1 新建Project和Maven父工程1.1 Maven父工程步骤1.1.1 New Project1.1.2 聚合总父工程名字1.1.3 字符编码1.1.4 注解生效激活1.1.5 java编译版本选择JDK17 1.2 父工程POM文件1.…

ViT笔记学习

1.VIT ViT原理讲解 ViT结合代码 1.3 ViT模型架构 我们先结合下面的动图来粗略地分析一下ViT的工作流程,如下: 将一张图片分成patches将patches铺平将铺平后的patches的线性映射到更低维的空间添加位置embedding编码信息将图像序列数据送入标准Transfor…