iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >springboot如何动态调用实现类
  • 388
分享到

springboot如何动态调用实现类

2023-06-25 15:06:26 388人浏览 薄情痞子
摘要

这篇文章主要介绍了SpringBoot如何动态调用实现类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。springboot动态调用实现类定义规则的多种类型public&nbs

这篇文章主要介绍了SpringBoot如何动态调用实现类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

springboot动态调用实现类

定义规则的多种类型

public enum RuleType {    MYRULEBYID1,    MYRULEBYID2}

接口

import java.util.List;import java.util.Map; public interface DataRuleParse {          RuleType getRuleType();        List<String> getsql( Map<String,Object> paramMap);}

实现类,规则类型1

package gds.application.masterdata.DataRuleParse; import gds.application.common.constants.ConnectorConstants;import gds.application.common.constants.XmlConfigurationContants;import gds.application.common.util.ApplicationContextUtil;import gds.application.masterdata.constants.ConnectDataProcessesConstants;import gds.application.masterdata.service.impl.BatchExecutionSqlServiceImpl;import org.springframework.stereotype.Component;  import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; @Componentpublic class MYRULEBYID1 implements DataRuleParse{       @Override    public RuleType getRuleType() {        return RuleType.MYRULEBYID1;    }     @Override    public List<String> getSQl( Map<String,Object> paramMap) {       //规则1实现方法        return null;    }

实现类,规则类型2

package gds.application.masterdata.DataRuleParse; import gds.application.common.constants.ConnectorConstants;import gds.application.common.constants.XmlConfigurationContants;import gds.application.common.util.ApplicationContextUtil;import gds.application.masterdata.constants.ConnectDataProcessesConstants;import gds.application.masterdata.service.impl.BatchExecutionSqlServiceImpl;import org.springframework.stereotype.Component;  import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; @Componentpublic class MYRULEBYID2 implements DataRuleParse{       @Override    public RuleType getRuleType() {        return RuleType.MYRULEBYID2;    }     @Override    public List<String> getSQl( Map<String,Object> paramMap) {       //规则2实现方法        return null;    }

工厂类,调用方法获取具体实现类

import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component; import java.util.HashMap;import java.util.Map; @Componentpublic class DataRuleParseFactory implements ApplicationContextAware {    private static Map<String, DataRuleParse> dataRuleBeanMap;    @Override    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException{        Map<String, DataRuleParse> map = applicationContext.getBeansOfType(DataRuleParse.class);        dataRuleBeanMap = new HashMap<String, DataRuleParse>();        map.forEach((key, value) -> dataRuleBeanMap.put(value.getRuleType().toString(), value));    }     public static <T extends DataRuleParse> T getTrafficMode(String ruleType) {        return (T)dataRuleBeanMap.get(ruleType);    }}

根据参数获取对应的方法,ruleName为MYRULEBYID1或者MYRULEBYID2

  DataRuleParse dataRuleParse= DataRuleParseFactory.getTrafficMode(ruleName);  List<String> sqlList=dataRuleParse.getSQl(paramMap);

springboot手动获取实现类

import org.springframework.WEB.context.WebApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;WebApplicationContext cxt = WebApplicationContextUtils.getWebApplicationContext(sc);weixinService = (IWeixinService) cxt.getBean("IWeixinService");qqService = (IQQService) cxt.getBean("IQQService");

感谢你能够认真阅读完这篇文章,希望小编分享的“springboot如何动态调用实现类”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: springboot如何动态调用实现类

本文链接: https://www.lsjlt.com/news/305670.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot如何动态调用实现类
    这篇文章主要介绍了springboot如何动态调用实现类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。springboot动态调用实现类定义规则的多种类型public&nbs...
    99+
    2023-06-25
  • springboot动态调用实现类方式
    目录springboot动态调用实现类springboot手动获取实现类springboot动态调用实现类 定义规则的多种类型 public enum RuleType { ...
    99+
    2024-04-02
  • springboot如何通过不同的策略动态调用不同的实现类
    目录通过不同的策略动态调用不同的实现类代码演示可能用到的场景举例spring中动态选择实现类方案一方案二通过不同的策略动态调用不同的实现类 经常遇到这样的一个需求,前端传的实体类型相...
    99+
    2024-04-02
  • springboot动态加载类怎么实现
    要实现Spring Boot动态加载类,可以使用以下步骤: 创建一个ClassLoader对象,用于动态加载类。可以使用URLC...
    99+
    2023-10-25
    springboot
  • springboot怎么通过不同的策略动态调用不同的实现类
    这篇“springboot怎么通过不同的策略动态调用不同的实现类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springb...
    99+
    2023-06-29
  • SpringBoot动态定时任务如何实现
    这篇文章主要介绍了SpringBoot动态定时任务如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot动态定时任务如何实现文章都会有所收获,下面我们一起来看看吧。 执行定时任务的...
    99+
    2023-07-05
  • springboot+HttpInvoke如何实现RPC调用
    小编给大家分享一下springboot+HttpInvoke如何实现RPC调用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!开始用springboot2+hession4实现RPC服务时,发现第一个服务可以调用成功,但第二...
    99+
    2023-06-29
  • c++动态库调用的实现
    目录一、生成dll二、调用dll在平时的开发中某些情况,动态库和静态库是程序开发的不二法门,例如封装一个库,供别人调用(日志库、字符串处理库、设备信息采集库等),比如接入第三方系统或...
    99+
    2024-04-02
  • SpringBoot+Mybatis如何实现动态数据源切换
    这篇文章主要介绍了SpringBoot+Mybatis如何实现动态数据源切换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。springboot是什么springboot一种全...
    99+
    2023-06-14
  • 使用Spring特性实现接口多实现类的动态调用方式
    目录正好用到。mark一下背景问题的提出首先我们看一下这个方法的签名接下来看看我们遇到的问题是什么?实现代码如下验证关于SPI下面是JDBC驱动的接口下面是MySQL的JDBC驱动实...
    99+
    2024-04-02
  • SpringBoot动态Feign服务调用详解
    目录1.Feign传统方式的不足2.动态Feign2.1.服务生产者2.2.动态Feign2.3.服务消费者3.总结1.Feign传统方式的不足 ①.在微服务架构中,当我们使用Fei...
    99+
    2022-12-21
    SpringBoot动态Feign SpringBoot动态Feign服务调用
  • java数组长度如何实现动态调整
    在Java中,数组的长度是固定的,一旦定义了数组的长度,就无法再进行动态调整。如果需要动态调整数组的长度,可以使用Java集合类中的...
    99+
    2023-10-26
    java
  • Springboot如何实现认证和动态权限管理
    今天小编给大家分享一下Springboot如何实现认证和动态权限管理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。知识点补充...
    99+
    2023-06-19
  • 怎么使用Spring特性实现接口多类的动态调用
    今天小编给大家分享一下怎么使用Spring特性实现接口多类的动态调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。正好用到。...
    99+
    2023-06-29
  • html如何实现动态
    html实现动态的方法:1、在通过transition设置过渡,添加transform设置形状,从而可以实现动画效果;2、添加animation属性,设置动态效果即可。具体使用示例:通过transition设置过渡,添加transform设...
    99+
    2024-04-02
  • 使用Springboot根据配置文件动态注入接口实现类
    Springboot根据配置文件动态注入接口实现类 需求 最近在做一个Springboot项目,需要面向不同需求的客户,但是为了方便管理分支,需要将不同客户的需求都写到同一套代码中,...
    99+
    2024-04-02
  • 怎么使用SpringBoot+Vue实现动态菜单
    本篇内容介绍了“怎么使用SpringBoot+Vue实现动态菜单”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 整体思路效果图:最终菜单...
    99+
    2023-07-02
  • 如何使用.NET6实现动态API
    本篇文章为大家展示了如何使用.NET6实现动态API,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ApiLite是基于.NET6直接将Service层生成动态api路由,可以不用添加Controll...
    99+
    2023-06-22
  • SpringBoot结合Redis配置工具类实现动态切换库
    我使用的版本是SpringBoot 2.6.4 可以实现注入不同的库连接或是动态切换库 <parent> <groupId>org.s...
    99+
    2022-11-13
    SpringBoot Redis动态切换库 SpringBoot Redis配置工具类
  • SpringBoot-RestTemplate如何实现调用第三方API
    目录1.在build.grdle加入依赖2.在config包下创建一个RestTemlateConfig3.在model包下创建一个新的包4.Constans类下将调用接口的AppK...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作