Spring -> 资源配置

1. 资源配置文件

  • 之前配置Bean的属性时,大多情况下值是固定的。这就可以利用XML或注解配置。
  • 若值是动态的,就需要外置资源文件。
  1. 使用PropertyPlaceholderConfigure配置属性文件
  2. 使用 <context:property-placeholder>配置属性文件
  3. 使用@Value注解给Bean的属性注入值(${ })

2. Spring资源接口

  • IoC控制的是应用程序所需要的资源。
  • Resource接口将所有关于文件的处理方式统一起来,不管文件的来源,统一获取资源。
2.1 Resource接口的实现类
  1. ByteArrayResource
    ① 代表 byte[] 数组资源
    ② getInputStream 将返回一个 ByteArrayInputStream
    ③ ByteArrayResource 可多次读取数组资源,即 isOpen () 永远返回 false
  2. InputStreamResource
    ① 代表 java.io.InputStream 字节流
    ② 对于 getInputStream 操作将直接返回该字节流
    ③ 只能读取一次该字节流,即 isOpen 永远返回 true
  3. FileSystemResource
    ① 代表 java.io.File 资源
    ② 对于 getInputStream 操作将返回底层文件的字节 流
    ③ 可多次读取底层文件的字节流,即 isOpen() 永远返回 false
  4. ClassPathResource
    ① 代表 classpath 路径的资源
    ② 使用 ClassLoader 进行加载资源。
    ③ classpath 资源存在于类路径中的文件系统中或 jar 包里
    ④ 可多次读取资源,即 isOpen() 永远返回 false
    ⑤ ClassPathResource 加载资源替代了Class类和ClassLoader类的 getResource(String name) 和 getResourceAsStream(String name) 两个加载类路径资源方法,提供一致的访问方式。
2.2 策略模式

一个接口有不同的实现,不同的实现解决同样的问题。
每一种实现都为一种策略

Spring中对于资源的管理就相当于策略模式
-> 一个Resource接口实现了InputStream接口,有很多实现类。实现类中有byte[ ]、ClassPath… …

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值