ResourcePatternResolver接口

/ Spring / 没有评论 / 287浏览

在上一篇中我们介绍了Resource接口,它的出现是为了解决spring方便访问各种配置信息。但Resource接口有一个问题,就是如果我们要访问同一个路径下的所有符合条件的配置,如果用Resource接口则会比较麻烦,因为它不支持通配符方式的文件读取,所以要将读取的配置文件名称全部写出来才可以。spring为了解决这个问题,于是新定义了一个新接口,并实现了该接口特有的特性,也就是支持类似Ant风格的通配符。下面我们看一下该接口的具体使用。

public class ResourceTest {
public static void main(String[] args) throws IOException {
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resourcePatternResolver.getResources("classpath:*.xml");
for (Resource resource : resources) {
System.out.println(IOUtils.toString(resource.getInputStream(), "utf8"));
System.out.println("----------------------------------------------------------");
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userDetail" class="com.jilinwula.spring.UserDetail"/>     <bean id="userDetailAble" class="com.jilinwula.spring.UserDetailAbleImpl"/>

    <!-- 构造函数注入 start -->     <bean id="userInfo1" class="com.jilinwula.spring.UserInfo">         <constructor-arg name="userDetail" ref="userDetail"/>     </bean>     <!-- 构造函数注入 end -->

    <!-- 属性注入 start -->     <bean id="userInfo2" class="com.jilinwula.spring.UserInfo">         <property name="userDetail" ref="userDetail"/>     </bean>     <!-- 属性注入 end -->

    <!-- 接口注入 start -->     <bean id="userInfo3" class="com.jilinwula.spring.UserInfo">         <property name="userDetailAble" ref="userDetailAble"/>     </bean>     <!-- 接口注入 end -->

</beans>

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://www.springframework.org/schema/beans            http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans> ----------------------------------------------------------