Spring Resource接口说明

Spring Resource接口说明

在Spring中Resource接口有着相当广泛的使用。Spring在加载配置文件时候,都是基于Resource接口加载的。此接口抽象程度比较高,是Spring的辅助重要接口之一。

我们先看下Spring中此接口的类图。
Resource类图

Spring把对资源的访问高度封装,从实现类可以看到,可以从Url地址,本地文件系统,Classpath路径,二进制流获取到对应的Resource对象。当然,理解以上类图,我们自己也可以简单的实现一个DBResource,从数据库获取资源。

  1. ByteArrayResource: 创建ByteArrayInputStream提供资源访问,支持读取多次
  2. DescriptiveResource:不提供资源访问的实现类,一般用于API参数传递,但实际不读取的情况使用。(个人感觉没什么用)
  3. FileSystemResource: 以本地文件提供资源,参考FileInputStream
  4. AbstractFileResolvingResource: 提供url地址解析,从地址路径加载InputStrem。比如:Http网络, DFS协议地址, VFS协议地址,jar包中等
  5. UrlResource: Url地址解析并获取输入,如:http//, file://
  6. ClassPathResource: 从当前classpath路径获取输入,参考ClassLoader.getResourceAsStream
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架常见的面试题包括但不限于以下几个方面: 1. 什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个开源的Java企业级应用程序开发框架,它提供了一种全面的编程和配置模型,用于构建现代化的、灵活的、可扩展的企业级应用程序。Spring框架的主要模块包括:Spring Core、Spring MVC、Spring Data、Spring Security等。 2. 使用Spring框架有什么好处? 使用Spring框架可以带来多个好处,包括:轻量级、非侵入性、面向切面编程(AOP)、控制反转(IOC)、依赖注入(DI)、解耦应用程序组件、简化JavaEE开发等。 3. 什么是控制反转(IOC)?什么是依赖注入? 控制反转是一种设计模式,它将对象的创建和对象之间的依赖关系的管理交给了容器来完成。依赖注入是控制反转的一种实现方式,通过将对象的依赖关系注入到对象中,来实现对象之间的解耦。 4. Spring中的IOC是如何工作的? Spring的IOC容器负责管理和配置应用程序中的对象。通过配置文件或注解,IOC容器可以在应用程序启动时实例化对象,并自动解决对象之间的依赖关系。 5. BeanFactory和ApplicationContext有什么区别? BeanFactory是Spring框架的基础设施,用于管理和配置Bean的生命周期。ApplicationContext是BeanFactory的子接口,除了提供BeanFactory的功能外,还提供了更多的企业级特性,如国际化支持、事件发布、AOP等。 6. 将Spring配置到你的应用中有几种方法? 将Spring配置到应用程序中有三种主要方式:基于XML的配置、基于Java的配置和基于注解的配置。 7. 描述Spring Bean的生命周期? Spring Bean的生命周期包括对象的创建、初始化和销毁三个阶段。在容器启动时,Spring会实例化Bean并完成依赖注入。在Bean初始化完成后,可以执行自定义的初始化方法。在容器关闭时,Spring会销毁Bean并执行自定义的销毁方法。 8. Spring框架中的单例Bean是否是线程安全的? 在Spring框架中,默认情况下,单例Bean是线程安全的。因为Spring容器会为每个单例Bean创建一个独立的实例,避免了多线程并发访问的问题。 9. 请举例说明如何用Spring注入一个Java的集合类? 可以使用`<list>`、`<set>`、`<map>`等标签或`@Autowired`注解来注入Java的集合类。 10. 请举例说明如何在Spring的Bean中注入一个java.util.Properties? 可以使用`<props>`标签或`@Value`注解来注入java.util.Properties。 11. 请解释Spring的Bean的自动生成原理? Spring的Bean的自动生成原理是通过对类路径下的类进行扫描,识别使用了特定注解的类,并根据注解配置自动创建Bean实例。 12. Spring框架中不同类型event有什么区别? Spring框架中的事件分为标准事件和自定义事件。标准事件是指预定义的事件类型,如ContextStartedEvent、ContextStoppedEvent等;自定义事件是开发人员自定义的事件类型。 13. FileSystemResource和ClassPathResource有何区别? FileSystemResource是基于文件系统的资源访问方式,而ClassPathResource是基于类路径的资源访问方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值