Spring配置文件初始化加载(二)

news/2024/11/8 11:42:08 标签: spring

1.接口

public interface ZeroTestService {

    /**
     * 校验
     *
     * @param map
     */
    void checkData(Map<String, String> map);

    /**
     * 当前实现对应类型
     *
     * @return
     */
    String getType();
}

2.实现类

@Service
public class ZeroTest01ServiceImpl implements ZeroTestService {
    @Override
    public void checkData(Map<String, String> map) {

    }

    @Override
    public String getType() {
        return null;
    }
}

@Service
public class ZeroTest02ServiceImpl implements ZeroTestService {
    @Override
    public void checkData(Map<String, String> map) {

    }

    @Override
    public String getType() {
        return null;
    }
}

3.实现IOC容器

@Component
public class ZeroTestServiceFactory implements InitializingBean {

    @Autowired
    private List<ZeroTestService> zeroTestServiceList;

    public Map<String, ZeroTestService> serviceMap = new HashMap<>();

    public ZeroTestService getZeroTestService(String type) {
        return serviceMap.get(type);
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        zeroTestServiceList.forEach(zeroTestService -> serviceMap.put(zeroTestService.getType(), zeroTestService));
    }
}


http://www.niftyadmin.cn/n/5743849.html

相关文章

进销存软件三大成本计算法

随着信息技术的不断进步和企业管理需求的日益复杂化&#xff0c;进销存软件作为企业管理的重要工具&#xff0c;其成本计算方式的前景正展现出广阔的发展空间和创新潜力。 加权平均法、先进先出法&#xff08;FIFO&#xff09;等传统成本计算方式将在未来继续发挥其稳定、可靠…

Webserver(4.9)本地套接字的通信

目录 本地套接字 本地套接字 TCP\UDP实现不同主机、网络通信 本地套接字实现本地的进程间的通信&#xff0c;类似的&#xff0c;一般采用TCP的通信流程 生成套接字文件 #include<arpa/inet.h> #include<stdio.h> #include<stdlib.h> #include<unistd.h&…

数据结构之排序补充

1. 非比较排序 上一篇文章我们罗列了数据结构中排序的八种方法。这八种方法都是需要比较才能实现的&#xff0c;那怎么样才可以通过非比较的方法来实现数组的排序呢&#xff1f;这里就提供一种非比较排序的方法。 具体的操作思路如下&#xff1a; 1. 先统计待比较数组arr中重…

vue2 pdf 链接地址打开

vue2 pdf 链接地址打开 1、先下载依赖 “vue-pdf”: “^4.3.0”, “pdfh5”: “^1.4.0”, “pdfjs-dist”: “2.5.207”, 3、打开pdf <template><div id"app"><div id"demo"></div></div> </template> <script&g…

如何在vscode中安装git详细新手教程

一、安装git后点击vscode中的设置 今天教大家如何在VScode中编写代码后提交到git仓库&#xff0c;如果我们不想切换到git的命令行窗口&#xff0c;可以在VScode中配置git&#xff0c;然后就可以很方便快捷的把代码提交到仓库中。 二、在输入框中输入 git.path &#xff0c;再点…

salesforce批量修改对象字段的四种方法

1. Mass Transfer Records 工具 Salesforce 自带的 Mass Transfer Records 工具允许你批量转移某些对象&#xff08;如 Account、Lead、Custom Object 等&#xff09;的所有者。要使用这个工具&#xff1a; 导航到 Setup。在搜索栏中输入“Mass Transfer Records”并选择它。…

新能源汽车驱动电机结构与工作原理

随着全球对可持续发展和环保的重视&#xff0c;新能源汽车的普及正迎来前所未有的发展机遇。在各种新能源汽车中&#xff0c;驱动电机作为核心部件之一&#xff0c;承担着将电能转化为机械能的重要功能。 一、驱动电机的定义与分类 驱动电机是指用于驱动交通工具、工业设备或…

从零构建一个基于PHP和MySQL的文件管理系统

​> 本文将详细介绍如何从零构建一个基于PHP和MySQL的文件管理系统&#xff0c;分解项目代码并剖析每个模块的功能。我们将以index.php、config.php和api.php这三个核心文件为例&#xff0c;详细展示如何设计文件列表、数据库配置和文件上传接口&#xff0c;从而实现一个完整…