Spring中怎么将Resource作为属性操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一 配置文件
<?xml version="1.0" encoding="GBK"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> <bean id="test" class="org.crazyit.app.service.TestBean" p:res="classpath:book.xml"/></beans>
二 属性文件
<?xml version="1.0" encoding="GBK"?><计算机书籍列表> <书> <书名>疯狂Java讲义</书名> <作者>李刚</作者> </书> <书> <书名>轻量级Java EE企业应用实战</书名> <作者>李刚</作者> </书></计算机书籍列表>
三 Bean
package org.crazyit.app.service;import org.springframework.core.io.Resource;import org.dom4j.io.*;import org.dom4j.*;import java.util.*;public class TestBean{ private Resource res; // res的setter方法 public void setRes(Resource res) { this.res = res; } public void parse()throws Exception { // 获取该资源的简单信息 System.out.println(res.getFilename()); System.out.println(res.getDescription()); // 创建基于SAX的dom4j的解析器 SAXReader reader = new SAXReader(); Document doc = reader.read(res.getFile()); // 获取根元素 Element el = doc.getRootElement(); List l = el.elements(); // 遍历根元素的全部子元素 for (Iterator it = l.iterator();it.hasNext() ; ) { // 每个节点都是<书>节点 Element book = (Element)it.next(); List ll = book.elements(); // 遍历<书>节点的全部子节点 for (Iterator it2 = ll.iterator();it2.hasNext() ; ) { Element eee = (Element)it2.next(); System.out.println(eee.getText()); } } }}
四 测试类
package lee;import org.springframework.context.*;import org.springframework.context.support.*;import org.springframework.core.io.*;import org.crazyit.app.service.*;public class SpringTest{ public static void main(String[] args) throws Exception { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); TestBean tb = ctx.getBean("test" , TestBean.class); tb.parse(); }}
五 测试结果
book.xmlclass path resource [book.xml]疯狂Java讲义李刚轻量级Java EE企业应用实战李刚
看完上述内容,你们掌握Spring中怎么将Resource作为属性操作的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。