我有一个名为com.voja.springtest
的默认包,另一个名为com.voja.springtest.beans
,我有一个beans.xml
文件。
我可以使用FileSystemXmlApplicationContext
:
ApplicationContext context = new FileSystemXmlApplicationContext("C:/Users/Voja/Desktop/_/vj/springtest/src/main/java/com/voja/springtest/beans/beans.xml");
但是ClassPathXmlApplicationContext
找不到它(并且它应该按照我正在做的教程):
ApplicationContext context = new ClassPathXmlApplicationContext("com/voja/springtest/beans/beans.xml");
为什么?
答案 0 :(得分:0)
你使用错误的parh,在你的情况下它应该是:
ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:beans.xml");
4.7.2.2 classpath *:前缀
构建基于XML的应用程序上下文时,位置字符串 可以使用特殊的类路径*:前缀:
ApplicationContext ctx = 新的ClassPathXmlApplicationContext(“classpath *:conf / appContext.xml”);这个 special prefix指定匹配的所有classpath资源 必须获得给定的名称(在内部,这基本上是通过 一个ClassLoader.getResources(...)调用),然后合并形成 最终的应用程序上下文定义。
答案 1 :(得分:0)
FileSystemXmlApplicationContext通过附加关键字“file”从绝对路径中选择XML文件,也可以通过附加关键字“classpath”从类路径中获取。 您可以按以下方式访问该文件
composer install