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

优秀的网页设计网站百度搜索热词排行榜

优秀的网页设计网站,百度搜索热词排行榜,wordpress lighttpd,黄页88和58那个推广好一、前言 对于我们Java开发人员来说,Spring框架的重要性不言而喻,可以说Java领域之所以发展这么壮大,生态这么丰富,功能这么强大,是离不开Spring以及由其衍生出来的各种子模块的,正是由它们共同奠定了JavaE…

一、前言

        对于我们Java开发人员来说,Spring框架的重要性不言而喻,可以说Java领域之所以发展这么壮大,生态这么丰富,功能这么强大,是离不开Spring以及由其衍生出来的各种子模块的,正是由它们共同奠定了JavaEE的基石!说起Spring,不得不说一下里面运用的非常丰富的设计模式,日常工作或者笔试面试中,必不可少的会用到或者被问到Spring设计模式相关的问题,查询网上资料,关于Spring设计模式相关的文章也鳞次栉比,好的有差的也有,代码断断续续的更是多数,看的人眼花缭乱,云里雾里!基于此,我决定结合自己工作中的实践,以及网上的资料,详细的写一篇关于Spring设计模式相关的案例,保证大家伙能够在轻松愉悦中,一窥Spring设计模式的奥妙!算是自己对Spring设计模式的一个总结吧,也为广大想系统学习Spring设计模式的朋友们提供一个参考,助力工作,顺利面试!,如果帮助到了你,请点赞 + 收藏 +关注 + 评论!

        说明:为了方便开发以下系列代码案例以Springboot脚手架进行演示

二、策略模式

2.1、概述

        策略模式是一种行为型设计模式,它定义了一些列算法,并将它们封装起来,使它们可以相互替换,而不影响客户端的使用。策略模式主要涉及到三个角色,即:环境类(Context)、抽象策略类(Strategy)、具体策略类(ConcreteStrategy),运行流程是:环境类持有一个策略对象的引用,可以根据不同的情况选择不同的策略执行业务逻辑,出现策略类定义了一个公共的接口,用于封装不同的算法,具体策略类实现了抽象策略类中的接口,并提供具体的算法实现。

2.2、案例代码

2.2.1、项目概览

2.2.2、pom

<dependencies><!-- spring-boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-json</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><!-- 工具 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.1</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>20.0</version></dependency><dependency><groupId>com.alibaba.citrus</groupId><artifactId>citrus-springext-all</artifactId><version>3.2.4</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.22</version></dependency>
</dependencies>

2.2.3、PayStrategy

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/28 7:47* @Description: 抽象策略类*/
public interface PayStrategy {/*** 支付* @param amount* @return*/String pay(double amount);}

2.2.4、AlipayStrategy

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/28 7:48* @Description:*/
@Component("alipay")
public class AlipayStrategy implements PayStrategy {@Overridepublic String pay(double amount) {return "使用支付宝支付了【" + amount + "】元";}
}

2.2.5、WeChatPayStrategy

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/28 7:48* @Description:*/
@Component("wechatPay")
public class WeChatPayStrategy implements PayStrategy {@Overridepublic String pay(double amount) {return "使用微信支付了【" + amount + "】元";}
}

2.2.6、IcbcPayStrategy

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/28 7:48* @Description:*/
@Component("iCBCPay")
public class IcbcPayStrategy implements PayStrategy {@Overridepublic String pay(double amount) {return "使用工商银行支付了【" + amount + "】元";}
}

2.2.7、PayService

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/28 7:53* @Description:*/
@Getter
@Setter
@Service
public class PayService {private PayStrategy payStrategy;public String pay(double amount) {return payStrategy.pay(amount);}}

2.2.8、PayController

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/28 7:44* @Description:*/
@Slf4j
@RestController
public class PayController {@Resourceprivate PayService payService;@PostMapping("/pay")public String pay(@RequestBody PayParam param) {log.info("PayController pay param:{}", JSON.toJSONString(param));payService.setPayStrategy(SpringUtil.getBean(param.getPayType()));return payService.pay(param.getAmount());}}

 2.2.9、测试

http://www.wangmingla.cn/news/148866.html

相关文章:

  • 百度开放云做网站搜索引擎优化目标
  • 查公司备案网站备案百度seo排名查询
  • 中职网站建设教学计划网络推广团队哪家好
  • 给自己的公司做网站怎么做好今日新闻大事件
  • 怎么给领导做网站分析seo网络优化专员
  • 做网站让人来注册网站top排行榜
  • 建设网站找什么问题淘宝指数查询官网
  • 公司网站建设项目的成本计划网络运营与推广
  • 罗湖网站建设多少钱seo文章代写平台
  • 卡片式设计的网站百度推广的费用
  • 怀柔石家庄网站建设小说网站排名人气
  • 极简风格的网站网络营销的定义
  • 怎么做教育培训网站福州搜索引擎优化公司
  • 如何与知名网站做友情链接免费友链平台
  • 网站备案最快几天湖南企业seo优化
  • 建设一个网站可以做什么日本比分算1:1
  • wordpress站点网址百度推广费用一年多少钱
  • 手表网站排名186信息网网络推广优化方案
  • 做会所网站的百度关键词推广一年多少钱
  • wordpress 迅雷下载地址南城网站优化公司
  • 做一个自己的免费网站关键词优化快速排名
  • 自建手机网站seo关键词如何设置
  • 苹果自带建设网站南宁求介绍seo软件
  • 佛山网站建设机构全自动推广引流软件
  • 做网站用什么浏览器最好网络营销策划书ppt
  • 无锡网站建设 网站制作廊坊seo优化排名
  • 网站备案需要年检吗杭州做搜索引擎网站的公司
  • 网站开发业务怎么开展今日早间新闻
  • wordpress 建站公司一键建站免费
  • 大连市网站制作电话搜索引擎入口官网