文档章节

根据不同的文件尾缀名去找对应的解析实现类

jack_peng
 jack_peng
发布于 2017/03/15 23:09
字数 178
阅读 29
收藏 1

很有意思的一个实现,以前太傻,居然还用if else 去使用不同的实现类。上代码理解直接点。

@Autowired
    private Map<String,IContentReader> readers;
    
    /**
     * 根据不同的文件尾缀名去找对应的解析实现类
     * 如:txt -> 	TxtReader
     * 	  xls -> 	Excel97Reader
     *    xlsx -> 	Excel2010Reader
     *    doc ->	Word97Reader
     *    docx ->	Word2010Reader
     * @param suffix
     * @return
     */
    public IContentReader getReader(String suffix){
        return readers.get(suffix);
    }

利用Autowired注解去注入Map对象即可实现对应效果,实现类代码如下

@Component("txt")
public class TxtReader implements IContentReader{

@Component("docx")
public class Word2010Reader implements IContentReader {

org.springframework.beans.factory.config.MapFactoryBean 根据这个类实现的思路

© 著作权归作者所有

jack_peng
粉丝 15
博文 72
码字总数 17815
作品 0
成都
私信 提问
Spring配置文件中的那些标签意味着什么(持续更新)

前言 在看这边博客时,如果遇到有什么不清楚的地方,可以参考我另外一边博文。Spring标签的探索,根据这边文章自己来深入源码一探究竟。这里自己只是简单记录一下各标签作用,每个人困惑不同...

HikariCP
2017/11/26
0
0
‎CocosBuilder 学习笔记(1) CCBReader 解析.ccbi文件流程

1. 简介 CocosBuilder是免费开源的Cocos2d UI编辑器。 .ccb文件是CCB项目的原始文件。 .ccbi文件是CCB项目发布后的生成的二进制文件。CCBReader可以快速通过该二进制文件,读取并设置CCB项目...

深潮
08/30
0
0
Spring Mvc 视图解析

Spring Mvc 视图解析 在 Spring Mvc 中,我们自己编写的控制器方法(Controller) 并没有直接去渲染结果,使用 response 去输出到浏览器。方法返回的是 ModelAndView,甚至只是一个 String 类型...

非摩尔根
02/20
57
0
Runtime之消息发送和消息转发

简介: 如果消息含有参数,则为: 1、消息发送机制 检查selector 是否需要忽略 检查target是否为nil,如果为nil,直接cleanup,然后return(这就是为什么可以向nil发送消息的原因) 然后在t...

Tonyliu_
2018/04/19
0
0
恒宇少年/code-builder

欢迎使用代码生成器code-builder [toc] 加入群聊 SpringBoot 核心技术①:373229384 (满) SpringBoot 核心技术②:588351309 Mybatis Enhance :782540319 背景 本来是专门为来编写的一块代...

恒宇少年
2018/07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Eureka应用注册与集群数据同步源码解析

在之前的EurekaClient自动装配及启动流程解析一文中我们提到过,在构造DiscoveryClient类时,会把自身注册到服务端,本文就来分析一下这个注册流程 客户端发起注册 boolean register() t...

Java学习录
18分钟前
4
0
Java描述设计模式(15):责任链模式

本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景描述 1、请假审批流程 公司常见的请假审批流程:请假天数 当 day<=3 天,项目经理审批当 3<day<=5 天,部门经理审批当 day>5 天...

知了一笑
29分钟前
6
0
总结:数组与链表

1、内存申请:数组在内存上是连续的空间;链表,内存地址上可以是不连续的。 2、查询速度:数组可以随机访问,链表必须顺序访问,即从首个元素开始遍历,逐个查找,所以数组查询很快。 3、写入...

浮躁的码农
37分钟前
6
0
HashMap源码分析

read

V丶zxw
56分钟前
5
0
Python字符串或JSON字符串转字典dict、列表list

有3种方法 1、使用ast模块 >>> import ast>>> s = '["test",1]'>>> ast.literal_eval(s)['test',1]>>> s = '{"test":1}'>>> ast.literal_eval(s){'test': 1} 2、eval函数,这个......

编程老陆
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部