策略模式的小工具(搭建在SpringBoot基础上)
写在开始
本文主要介绍博主的一个小工具(其实就是一个轮子 )
一个使用注解,接口来维护一个策略模式绑定关系的小工具~(这样就不用写很多if / else,代码更加美观)
本文最开始先简单讲了一下,一个小需求,我们去使用策略模式进行开发
然后再用我们的小工具来进行编写这个需求~
策略模式使用(策略模式的正常使用)~
我们来举一个例子:
场景:小王今天接到一个需求,是现在要给商场编写一个收银系统,然后商场内目前有三种计算价格的机制
- 普通顾客,原价
- 普通会员,8折
- 黄金会员,7折
…
而且需求方说有可能还会添加更高等级的价格计算机制,白金会员,钻石会员等等
看到这个需求我们是不是就想到在编写这个需求的时候会采用策略模式来进行编写这个需求~
具体来编写一下~
//策略模式接口
public interface Cashier{//以分为单位,所以返回值是intint calculatePrice(int price);
}
以下分别是三个策略具体实现(这边只是演示代码就不写的很复杂了)
//普通顾客
public class NormalCashier implements Cashier {@Overridepublic int calculatePrice(int price) {return price;}
}
//VIP用户
public class VipCashier implements Cashier {@Overridepublic int calculatePrice(int price) {return new BigDecimal("0.8").multiply(new BigDecimal(price)).intValue();}
}
//黄金VIP用户
public class GoldVipCashier implements Cashier {@Overridepublic int calculatePrice(int price) {return new BigDecimal("0.7").multiply(new BigDecimal(price)).intValue();}
}
然后我们定义一个枚举
public enum UserType {/*** 普通顾客*/NORMAL("normal", 0),/*** VIP顾客*/VIP("vip", 1),/*** 黄金VIP顾客*/GOLD_VIP("gold_vip", 2);UserType(String name, Integer value){this.name = name;this.value = value;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getValue() {return value;}public void setValue(Integer value) {this.value = value;}private String name;private Integer value;
}
然后定义一个上下文(这里仅仅只是定义了策略模式的上下文,并没有在上下文中结合简单工厂的思想~)
public class Context {private Cashier cashier;public Context(Cashier cashier){this.cashier = cashier;}public int calculatePrice(int price){return cashier.calculatePrice(price);}}
具体使用
//因为我们是进行演示,我们就不再创建第二个层级了,就直接逻辑在Controller写了@ResponseBody@RequestMapping("/cashier")public Integer cashier(@RequestParam Integer userType, @RequestParam Integer price){if (UserType.GOLD_VIP.getValue().equals(userType)){GoldVipCashier goldVipCashier= new GoldVipCashier();return new Context(goldVipCashier).calculatePrice(price);}else if (UserType.VIP.getValue().equals(userType)){VipCashier vipCashier= new VipCashier();return new Context(vipCashier).calculatePrice(price);}else {NormalCashier normalCashier = new NormalCashier();return new Context(normalCashier).calculatePrice(price);}}
这里我们发现如果我们有很多很多策略模式,我们就发现会有很多很多if else 很不美观
这里我们这个小工具就横空出世啦!!!!
策略模式小工具
github 地址:github地址,点此跳转
依赖地址:
<dependency><groupId>io.github.wangzh13</groupId><artifactId>strategy</artifactId><version>1.0.0</version></dependency>
简单的原理介绍
原理很简单
首先我们维护了一个 Map<String, Map<Object, Object>> 结构
我们将这个接口文字化
Map<策略模式接口名, Map<规则值, Bean实例>>
//大概结构是如下|-----规则 --- bean实例(策略模式具体的实现类)
策略模式接口|-----规则 --- bean实例(策略模式具体的实现类)
实际就是我们在SpringBoot的时候根据SpringApplicationRunListener以及Bean的后置处理器,扫描所有Bean对象,维护一个绑定关系,将被声明为策略模式的接口,以及他的实现类根据相应的规则绑定起来(这里先大概了解一下,后面会有相关的例子解释)放到这个Map结构里面,使用的时候根据策略模式名称以及相应规则,拿到相应的Bean实例
工作流程
首先大体说一下工作流程,我们要做的事情
最前面:
- SpringBoot 对待Bean的策略一定是单例
(默认是单例,如果没有进行自定义设置过,就无须关心) - 策略模式的实现类一定要交由spring管理(比方说添加@Component 注解)
- 引入项目jar包,jar包地址
<dependency><groupId>io.github.wangzh13</groupId><artifactId>strategy</artifactId><version>1.0.0</version></dependency>
- 我们在实现策略模式的时候会编写一个接口,来代表这一类策略模式,我们需要在这个接口上添加@StrategyType注解(注解属性是你想绑定的规则)
- 针对此接口具体的实现类,除去实现这个接口(比方说上文的Cashier接口,VipCashier实现类,需要实现Cashier接口)还要实现一个StrategyEntity< T >(没错这个接口是需要指定泛型的,这里指定的泛型类型应该与我们在第一步的时候声明的注解属性)然后重写 StrategyEntity接口当中的 rule方法(具体使用可以看下面的示例)
- 我们使用一个处理器传入我们的绑定规则与策略模式接口,来匹配到相应的实例类,然后具体使用
//我们需要自动注入StrategyHandler这个类@AutowiredStrategyHandler strategyHandler;//然后使用StrategyHandler,调用get方法//get方法会返回一个根据具体规则的值帮你匹配到的Cashier接口的具体实现类,//然后我们就可以调用Cashier类的方法strategyHandler.get(Cashier类接口类型(Class类型参数), 具体规则的值)
小案例(先简单说一下)
@StrategyType(UserType.class)
public interface Cashier {int calculatePrice(int price);
}@Component
public class GoldVipCashier implements Cashier, StrategyEntity<UserType> {@Override//重写rule方法,返回一个规则集合//比方说我们这里返回的一个规则集合里面有VIP 与黄金VIP两个枚举值//那么当我们调用StrategyHandler的get方法时,传入Cashier.class 与 (枚举中,VIP或者GOLD_VIP二者之一)// StrategyHandler都会返回GoldVipCashier 此策略实现类public List<UserType> rule() {List<UserType> list = new ArrayList<>();list.add(UserType.GOLD_VIP);list.add(UserType.VIP);return list;}@Overridepublic int calculatePrice(int price) {return new BigDecimal("0.7").multiply(new BigDecimal(price)).intValue();}}
对上述案例的分析!!!,这里看一下更容易理解
我们分析一下上面代码最后放到我们开始的时候说的Map结构里面对应的地方--我们把这个结构贴在这里方便我们理解--Map<String, Map<Object, Object>>
--结构文字化--Map<策略模式接口名, Map<规则值, Bean实例>>首先我们在Cashier接口上打上了注解StrategyType
放到map里面就是Map<Cashier接口类名, Map<规则值, Bean实例>>
然后我们GoldVipCashier类实现了Cashier接口,并且实现了StrategyEntity<UserType>(这两个接口都必须得实现到)
然后我们重写了StrategyEntity<UserType>接口的rule方法
public List<UserType> rule() {List<UserType> list = new ArrayList<>();list.add(UserType.GOLD_VIP);list.add(UserType.VIP);return list;
}
这个rule接口返回了一个list,这个list里面有两个枚举值UserType.GOLD_VIP,UserType.VIP
当我们写完这个,我们来看看在Map里面上述是什么结构
之前是 Map<Cashier接口类名, Map<规则值, Bean实例>>
现在是|-----UserType.GOLD_VIP --- GoldVipCashier类
Cashier接口类名|-----UserType.VIP --- GoldVipCashier类然后我们使用
StrategyHandler.get(Cashier.class, UserType.GOLD_VIP或者UserType.VIP)取到GoldVipCashier类
我们来重新完整的修改一下上面的例子~(需求不变,使用方法用上我们的小工具)
首先在项目中引入jar包
<dependency><groupId>io.github.wangzh13</groupId><artifactId>strategy</artifactId><version>1.0.0</version></dependency>
我们还是定义一个Cashier接口
//在接口上方添加StrategyType注解
//(注解属性是你想绑定的规则,这里我们需要绑定的规则是我们上面定义的枚举类)
@StrategyType(UserType.class)
public interface Cashier{//以分为单位,所以返回值是intint calculatePrice(int price);
}
然后三个实现类,实现Cashier接口的同时,再实现StrategyEntity接口,并且重写rule方法,指定每个实现类,在什么枚举值时会被匹配到
//普通顾客
@Component
public class NormalCashier implements Cashier, StrategyEntity<UserType> {@Overridepublic List<UserType> rule() {//根据这个规则显示,当枚举值是UserType.NORMAL时,NormalCashier被匹配到//可以定义多个规则,但这里的需求很简单,只需要指定一个List<UserType> list = new ArrayList<>();list.add(UserType.NORMAL);return list;}@Overridepublic int calculatePrice(int price) {return price;}
}
//VIP客户
@Component
public class VipCashier implements Cashier, StrategyEntity<UserType> {@Overridepublic List<UserType> rule() {//根据这个规则显示,当枚举值是UserType.NORMAL时,VIP被匹配到//可以定义多个规则,但这里的需求很简单,只需要指定一个List<UserType> list = new ArrayList<>();list.add(UserType.VIP);return list;}@Overridepublic int calculatePrice(int price) {return new BigDecimal("0.8").multiply(new BigDecimal(price)).intValue();}
}
//黄金VIP客户
@Component
public class GoldVipCashier implements Cashier, StrategyEntity<UserType> {@Overridepublic List<UserType> rule() {//根据这个规则显示,当枚举值是UserType.GOLD_VIP时,VIP被匹配到//可以定义多个规则,但这里的需求很简单,只需要指定一个List<UserType> list = new ArrayList<>();list.add(UserType.GOLD_VIP);return list;}@Overridepublic int calculatePrice(int price) {return new BigDecimal("0.7").multiply(new BigDecimal(price)).intValue();}}
然后我们来看Controller层
@AutowiredStrategyHandler strategyHandler;@ResponseBody@RequestMapping("/cashier")public Integer cashier(@RequestParam UserType userType, @RequestParam Integer price){//这里我们讲解一下//get方法里面的第一个参数,Cashier.class,这个参数代表,我们这次要匹配到的Cashier接口的具体实现类//get方法里面的第二个参数,userType,是具体的值,是请求体里面携带的具体参数,//当请求参数里面值是UserType.NORMAL,他就会返回NormalCashier类Bean对象//当请求参数里面值是UserType.VIP,他就会返回VipCashier类Bean对象//当请求参数里面值是UserType.GOLD_VIP,他就会返回GoldVipCashier类Bean对象//我们说明一下,这个规则是根据我们重写的rule方法返回的List 里面的值~//我们这句话是进行了简写, 实际是以下两句话// Cashier cashier = strategyHandler.get(Cashier.class, userType)// return cashier.calculatePrice(price);return strategyHandler.get(Cashier.class, userType).calculatePrice(price);}
注意:
博主推荐大家使用的规则类型为,基本数据类型的包装类型(Integer,Boolean…等),枚举,Class对象作为规则
当然我们这个工具也支持一些自定义bean作为规则,但是可能使用上比较麻烦一些~(需要重写 hashCode 方法 跟 equals方法,目的保证相应的规则绑定对应的值)
其实我们这个原理是维护了一个HashMap,规则是作为key来进行找到相应的Bean实例,所以要重写hashCode与equals方法,保证可以根据相应的规则绑定相应的Bean实例
例子:
用户需求(这里只是简单的举例子)id可以作为唯一标识标明
//声明User类,重写equals方法跟hashCode方法,
//只要id相同我们就认为两个User对象相同
public class User {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic int hashCode() {if (id == null){return 1;}return id;}@Overridepublic boolean equals(Object obj) {if (obj instanceof User){return id.equals(((User) obj).getId());}return false;}
}
@StrategyType(User.class)
public interface UserStrategy {String choice();
}
@Component
public class UserConsumer01 implements UserStrategy, StrategyEntity<User> {@Overridepublic List<User> rule() {List<User> list = new ArrayList<>();User user = new User();//当User对象属性ID为1时,匹配当前策略模式user.setId(1);list.add(user);return list;}@Overridepublic String choice() {return "hhh,我是美团";}
}
@Component
public class UserConsumer02 implements UserStrategy, StrategyEntity<User> {@Overridepublic List<User> rule() {List<User> list = new ArrayList<>();User user = new User();//当User对象属性ID为1890时,匹配当前策略模式user.setId(1890);list.add(user);return list;}@Overridepublic String choice() {return "hhh,我是饿了么";}
}
额外的一个小功能(用于开发调试过程当中)
如下:
启动后会在resource目录下创建一个strategy文件,然后创建一个strategy.txt文件
然后文件内打印着我们上文Map结构的文字化(将所有的数据打印出来,为了方便我们调试错误,查看是否绑定正确)~
如下图
具体值的对应关系解释~
模式名称后:是StrategyType注解的接口全类名
具体实现:具体的规则值:具体实现类的全类名
好了,文章大概内容就这样啦,欢迎大家使用哦~
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 15 生成数据
15.1 安装Matplotlib 15.2绘制简单的折线图 模块pyplot包含很多用于生成图表的函数 subplot()可在一张图片中绘制一个或者多个图标 import matplotlib.pyplot as plt squares [1, 4, 9, 16, 25] fig, ax plt.subplots() ax.plot(squares) plt.show(…...
2024/4/16 16:02:25 - 混合式步进电机本体建模
两相混合式步进电机数学模型 式中 Ls为自感,它与转子的机械角位置 θ 有关。 由于混合式步进电机中磁芯造成很大的气隙, 其可变磁阻对于输出总力矩的贡献可以忽略,式 (2)作为单相绕组等效电路 的表达式 ,如…...
2024/4/6 23:16:06 - 直播源码前期该如何运营?
5G时代已经来临,如今自媒体繁荣发展的当下,说到直播大家都能够议论一番的,特别是在疫情期间,更是有众多直播平台涌入市场,直播的方式和种类越来越多样化,无论是娱乐直播还是带货直播,分的也是越来越细化那么…...
2024/4/15 10:00:04 - 牛啊牛啊,2w字的Java集合框架面试题精华集(2021最新版),赶紧收藏。
一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点。每一本小册,我们都会充分关注我们所总结的知识点是否达…...
2024/4/15 10:00:19 - 记一次线上服务导致cpu飙升问题排查
一 概述 突然收到线上服务器的CPU占用过高,接近80%。 二 排查过程 先通过TOP命令查看占有CPU的进程信息。 top命令参考资料:TOP命令输出完全解释_欣宇专栏-CSDN博客https://blog.csdn.net/lv_xinmy/article/details/8574226linux下top命令详细介绍 - DiY…...
2024/4/6 23:16:03 - Pnadas学习day-01
Pandas学习day-01 导入Pandas import pandas as pd import numpy as npPandas基本数据结构 pandas中有两种基本结构 Series 一维数组,与numpy中得array类似,与python中的基本数据结构List也相近。Series能保存不同的数据类型。 DataFrame 二维的表…...
2024/4/15 10:00:34 - [论文解读]Learning Relationships for Multi-View 3D Object Recognition.
一. 前言 1.研究背景及目的: 对于3D对象的特定部分,如果从不同的视点渲染3D形状,它将被投影到2D平面中的不同空间位置。视图汇集操作忽略了来自不同视点的2D外观之间的空间相关性,因此,来自不同视点的对应区域没有对齐…...
2024/4/15 10:00:14 - 当我们谈论颜色时,我们在谈论什么 - 基础知识篇
谈到 颜色,前端工程师首先想起的便是基于 RGB 的 16 进制颜色代码,这也是我们工作中最常用到的 数值表示 方式。但是当我们的谈话再深入一些,话题远不止这些: 前端:「我在 hackathon 时做了个网站,配色怎么…...
2024/4/16 22:36:12 - PHP7运行环境搭建(Windows7)
php7号称能直追facebook的HHVM,为了体验一把传说中的高性能,我特意在本地电脑上尝试着安装了php7,不得不承认,php7的运行环境相对于之前的php5来说还是有一点苛刻的。下面开始进入主题。一.环境准备1. windows7版本要求如果你用的是win7系统,必须确保你的系统上安装了SP1这…...
2024/4/15 10:00:19 - 统计只有小写字母的字符串中字母的个数,并输出最大字母的个数的简单方法
思路:a~z二十六个字母在ascll码是连续的,定义数组count[26] ,下标i,让下标 i ch - ‘a’,如果ch a , count[0],记录的是a字母出现的个数,依次类推。只需要遍历一遍字符串,就可以把字符串的字母出现次数统计出来。 #…...
2024/4/15 10:00:34 - Hooks + TS 搭建一个任务管理系统(七)-- 任务组页面实现
📢 大家好,我是小丞同学,一名大二的前端爱好者 📢 这个系列文章是实战 jira 任务管理系统的一个学习总结 📢 非常感谢你的阅读,不对的地方欢迎指正 🙏 📢 愿你忠于自己,热…...
2024/4/19 11:18:06 - eMMC(二)——分区管理
参考: Embedded Multi-Media Card (e•MMC) Electrical Standard (5.1) [PDF]Disk partitioning [Web]Master Boot Record [Web]GUID Partition Table [Web]Linux Kernel internals[Web] 目录 0. 概述 FLASH分区类型 分区大小 分区编址 1. Boot Area Partitions 1.1…...
2024/4/15 10:00:09 - [文献阅读]—Language Models are Good Translators—
前言 论文地址:https://arxiv.org/abs/2106.13627 前人工作&存在问题 encoder更有效:TSN19去掉了encoder-decoder中的encoder,发现encoder对于NMT是很关键的;WLX19和WTSL20发现增大encoder的容量比decoder更有效。但还是基于…...
2024/4/15 10:00:59 - 数理统计代码应用
1.1应用numpy包 (关于numpy和matplotlib的应用此处不再赘述,pycharm只可读取label引号内固定写法) ①正态分布及标准正态分布 normal import numpy as np import matplotlib.pyplot as plt#定义函数:用代码自定义完成正态分布…...
2024/4/15 10:00:54 - Spring框架入门(五)---Spring事务
目录 第五章、Spring事务 5.1 Spring的事务管理 5.1.1 关于事务的回顾 5.1.2 Spring的事务管理 5.2 Spring事务管理的API 5.2.1 事务管理器 5.2.2 事务定义接口 5.2.3 Spring提交事务、回滚事务的时机 5.2.4 总结Spring的事务 5.3 实例(目前还未使用Spring实例) 5.3…...
2024/4/6 23:15:56 - 技能篇:实际开发常用设计模式
创建型 单例模式 单例对象能节约系统资源,一个对象的创建和消亡的开销可能很小。但是日常的服务接口,就算是一般小公司也有十几万的QPS吧。每一次的功能运转都创建新的对象来响应请求,十几万对象的创建和销毁,想想就是一笔大开销…...
2024/4/15 10:01:09 - 认真学习设计模式之适配器模式(Adapter Pattern)
适配器的作用可以简单通过下图得知,OO适配器就是将一个接口转换成另一个接口,以符合客户的期望。 实际场景应用可以联想插座适配器,如下图所示。 客户使用适配器的过程如下: ① 客户通过目标接口调用适配器的方法对适配器发出请…...
2024/4/15 17:51:03 - Python测试框架pytest(24)配置文件pytest.ini
目录 1、配置项 1.1、markers 1.2、xfail_strict 1.3、addopts 1.4、log_cli 1.5、minversion 1.6、testpaths 1.7、norecursedirs 1.8、更改测试用例收集规则 2、parser.addini()添加配置信息 pytest 配置文件可以改变 pytest 的运行方式,它是一个…...
2024/4/20 11:59:24 - 任务一:计算特征均值方差相关性
数据集pima.arff: 【1】Pregnant:怀孕次数 【2】plasma-glucose:葡萄糖 【3】BloodPressure:血压 (mm Hg) 【4】Triceps-skin-fold-pressure:皮层厚度 【5】2-Hour-serum-Insulin:胰岛素 2小时血清胰岛素…...
2024/4/15 10:00:54 - c#条件编译的设定
右击解决方案后 点击“配置管理器” 下面两处都要添加工程 另外在工程-》属性时要加上条件编译和符号加入相关的设定 这样在工程中就可以使用#if #endif这样的宏来分割代码 #if big_screenint screen2400; #elseint screen1920; #endif...
2024/4/15 10:00:59
最新文章
- 【GitBlit】Windows搭建Git服务器详细教程
前言 如果公司或个人想在 Windows 环境下搭建私有的 Git 服务器,那么这个开源的 GitBlit 是一个不错的选择。 Gitblit 是一个开源纯 Java 的用于管理、查看和服务 Git 存储库。它是一个小型的托管集中式存储库工具。支持 SSH、HTTP 和 GIT 协议,开箱即…...
2024/4/20 19:26:15 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 前端 js 经典:字符编码详解
前言:计算机只能识别二进制,开发语言中数据类型还有数字,字母,中文,特殊符号等,都需要转化成二进制编码才能让技术机识别。 一. 编码方式 ACSLL、Unicode、utf-8、URL 编码、base64 等。 1. ACSLL 对英语…...
2024/4/20 8:49:22 - 分发饼干(C++ 贪心)
目录 题目需求 贪心算法思想 什么是贪心 贪心算法的使用 贪心算法的优缺点 代码实现 后言 题目需求 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i]&…...
2024/4/20 16:36:07 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/19 14:24:02 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/19 18:20:22 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/19 11:57:31 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/19 11:57:31 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/19 11:57:52 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/19 11:57:53 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/19 11:58:14 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/19 11:58:20 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/20 7:40:48 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/19 11:58:39 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/19 11:58:51 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/20 3:12:02 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/19 11:59:15 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/19 11:59:23 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/19 11:59:44 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/19 11:59:48 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/19 12:00:06 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/19 16:57:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/19 12:00:25 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/19 12:00:40 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57