锁定老帖子 主题:Spring中管理XML配置文件的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-12-20
resource,dao,Service。 也就是说,一个文件变成三个文件: ApplicationContext-resource.xml ApplicationContext-dao.xml ApplicationContext-Service.xml 请问这样做是否可以? 如果可以的话,我应该怎样象以前读一个文件那样同时读三个文件信息? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-12-20
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] { "com/javaeye/example/ApplicationContext-resource.xml", "com/javaeye/example/ApplicationContext-dao.xml", "com/javaeye/example/ApplicationContext-Service.xml" });; |
|
返回顶楼 | |
发表时间:2004-12-20
无法读取。。。
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] { "/WEB-INF/ApplicationContext-resource.xml", "/WEB-INF/ApplicationContext-dao.xml", "/WEB-INF/ApplicationContext-Service.xml" });; org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [WEB-INF/ApplicationContext-resource.xml]; nested exception is java.io.FileNotFoundException: Could not open class path resource [WEB-INF/ApplicationContext-resource.xml] java.io.FileNotFoundException: Could not open class path resource [WEB-INF/ApplicationContext-resource.xml] |
|
返回顶楼 | |
发表时间:2004-12-20
web-inf又不是classpath的路径,放在那边干什么?
|
|
返回顶楼 | |
发表时间:2004-12-20
我希望把这些配置文件放置在WEB-INF中受到保护,不能直接被外界读取。
应该怎么做呢? |
|
返回顶楼 | |
发表时间:2004-12-20
放在你的classpath下面,打成jar放在web-inf\lib或者直接放在web-inf\classes,也是受保护滴
|
|
返回顶楼 | |
发表时间:2004-12-20
org.springframework.beans.factory.BeanDefinitionStoreException: Line 45 in XML document from class path resource [ApplicationContext-dao.xml] is invalid; nested exception is org.xml.sax.SAXParseException: 没有组件含有值为“dataSource”的 ID 属性。
org.xml.sax.SAXParseException: 没有组件含有值为“dataSource”的 ID 属性。 我要同时导入三个包,但是dataSource的申明不是在dao中进行的,这怎么解决? |
|
返回顶楼 | |
发表时间:2004-12-20
查文档,关于bean ref type的说明。
多个配置文件bean之间的reference,不要使用local |
|
返回顶楼 | |
发表时间:2004-12-20
不知道我前面说的是否准确,问题如下:
dataSource在ApplicationContext-resource中申明 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>oracle.jdbc.driver.OracleDriver</value> </property> <property name="url"> <value></value> </property> <property name="username"> <value></value> </property> <property name="password"> <value></value> </property> </bean> 但引用dataSource的却是在ApplicationContext-dao.xml中 <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="mappingResources"> <list> <value>test/model/PersonModel.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> net.sf.hibernate.dialect.Oracle9Dialect </prop> <prop key="hibernate.show_sql"> true </prop> </props> </property> </bean> 当xml文件依次读入时,报告如下错误: org.springframework.beans.factory.BeanDefinitionStoreException: Line 45 in XML document from class path resource [ApplicationContext-dao.xml] is invalid; nested exception is org.xml.sax.SAXParseException: 没有组件含有值为“dataSource”的 ID 属性。 org.xml.sax.SAXParseException: 没有组件含有值为“dataSource”的 ID 属性。 请问这该如何解决? |
|
返回顶楼 | |
发表时间:2004-12-20
Readonly 写道 多个配置文件bean之间的reference,不要使用local 谢谢你的回复。 |
|
返回顶楼 | |