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

asp网站手机模版前端seo怎么优化

asp网站手机模版,前端seo怎么优化,网站推广广告语,浦项建设(中国)有限公司网站01 前言 在 Spring Boot 3.4.x 版本中,Fallback 注解的引入为 bean 的注入逻辑提供了新的解决方案。 下面将深入探讨其用法及优势。 02 Fallback 注解概述 Fallback 注解与 ConditionalOnSingleCandidate 配合使用。 当存在单个 Primary Bean 时条件匹配&#xff1b…

在这里插入图片描述

01 前言

在 Spring Boot 3.4.x 版本中,@Fallback 注解的引入为 bean 的注入逻辑提供了新的解决方案。

下面将深入探讨其用法及优势。

02 @Fallback 注解概述

@Fallback 注解与 @ConditionalOnSingleCandidate 配合使用。

当存在单个 Primary Bean 时条件匹配;

若无 Primary Bean,则存在单个非 Fallback Bean 时也会匹配。

03 @Fallback 注解的使用场景

  1. 创建项目与定义接口 :新建 Spring Boot 3.4.0 及以上版本项目,定义一个 MyService 接口。
  2. 实现多个 Bean :分别实现 MyServiceImpl1 和 MyServiceImpl2 两个类,均标注 @Service 注解。
  3. 定义 AnotherBean 类 :该类依赖 MyService 类型的 bean,并在构造函数中注入。
  4. 配置 @ConditionalOnSingleCandidate :在 AnotherConfiguration 配置类中,使用 @ConditionalOnSingleCandidate 注解来条件性地创建 AnotherBean Bean。
  5. 测试接口 :通过 IndexController 类中的 index 方法调用 AnotherBean 的 doSomething 方法。

当未使用 @Fallback 注解时,由于存在多个 MyService 类型的 Bean,启动项目会报错,表明无法确定注入哪一个 Bean。

但若在 MyServiceImpl1 类上添加 @Fallback 注解,项目则可正常启动并输出相应日志。

以下是优化后的代码示例及分析:

MyService 接口

public interface MyService {void doSomething();
}
MyServiceImpl1 实现类
@Slf4j
@Service
@Fallback  // 标识该类为回退实现
public class MyServiceImpl1 implements MyService {@Overridepublic void doSomething() {log.info("这是 MyServiceImpl1 的实现,作为回退选项");}
}

MyServiceImpl2 实现类

@Slf4j
@Service
public class MyServiceImpl2 implements MyService {@Overridepublic void doSomething() {log.info("这是 MyServiceImpl2 的实现");}
}

AnotherBean 类

public class AnotherBean {private MyService myService;public AnotherBean(MyService myService) {this.myService = myService;}public void doSomething() {myService.doSomething();}
}

AnotherConfiguration 配置类

@Configuration
public class AnotherConfiguration {@Bean@ConditionalOnSingleCandidate(MyService.class)  // 条件注解,基于单候选 Beanpublic AnotherBean anotherBean(MyService myService) {return new AnotherBean(myService);}
}

IndexController 控制器

@RestController
public class IndexController {private final AnotherBean anotherBean;public IndexController(AnotherBean anotherBean) {this.anotherBean = anotherBean;}@GetMapping("/index")public String index() {anotherBean.doSomething();return "success";}
}

注解 :

  1. MyService 接口定义了 doSomething 方法,作为业务操作的规范。
  2. MyServiceImpl1 和 MyServiceImpl2 类分别实现了 MyService 接口。

MyServiceImpl1 通过 @Fallback 注解标识为回退实现,在没有明确的 Primary Bean 时,它将作为候选。

  1. AnotherBean 类依赖 MyService 类型的 Bean,并在构造函数中注入。
    它通过调用 MyService 的 doSomething 方法来执行具体业务逻辑。

  2. AnotherConfiguration 配置类中的 anotherBean 方法使用 @ConditionalOnSingleCandidate 注解。
    该注解会检查 MyService 类型的 Bean 是否存在单个候选(包括 Primary Bean 或非 Fallback Bean)。

如果满足条件,则创建 AnotherBean Bean。

  1. IndexController 控制器通过构造函数注入 AnotherBean,并在 index 方法中调用其 doSomething 方法。

最后
Spring Boot 3.4.x 版本的 @Fallback 注解为开发者提供了更灵活的 bean 注入策略。

在面对多个实现类时,通过 @Fallback 注解可以有效避免因 Spring 无法确定注入哪个 Bean 而导致的项目启动失败问题。

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

相关文章:

  • 购物网站开发原理广告投放平台公司
  • 上海网站建设招标nba赛季排名
  • 全面的手机网站建设搜索引擎推广seo
  • wordpress 管理员武汉seo和网络推广
  • 机械厂做网站到底有没有效果百度推广关键词质量度
  • qt做网站界面百度百科入口
  • 网站开发能不能用win7系统网站建设一般多少钱
  • 外贸网站推广如何做全网推广外包公司
  • 用网站做微信公众号南宁seo团队哪家好
  • 怎么在360网站做词条免费建网站的平台
  • 项目营销策划方案安卓优化大师2023
  • html网站开头怎么做3000行业关键词
  • 真人录像龙虎网站制作公司seo关键词快速获得排名
  • 网站开发基础金华网站建设
  • 衡阳商城网站制作免费收录链接网
  • app 移动网站建设河南网站建设哪家公司好
  • 站酷设计官网产品推广的渠道有哪些
  • 公司的官方网站怎么做2022年最新新闻播报稿件
  • 温州建设小学瓯江校区网站最好的营销策划公司
  • 外贸和网站制作网络营销环境分析
  • 做算命网站广州网站优化公司
  • 别人做的网站不能用怎么办啊我想做网络推广找谁
  • 培训网站搭建流量大的推广平台有哪些
  • 装修队做网站广东病毒感染最新消息
  • 网站 开发 外包跨境电商网站
  • 做纯净系统的网站佛山网站建设模板
  • 在网上做设计赚钱的网站抖音搜索seo代理
  • 电子商务网站软件建设的关键词查找网站
  • wordpress 数据库查询插件厦门seo推广
  • 网站怎么放到服务器seo项目分析