I have two questions regarding classpath:
option in spring :-
1) Does classpath:
search for resource relative to the document in which it is specified(in case of web applications)?
Suppose I use the following:
<bean class="mybean">
<property name="myresource" value="classpath:myfile.txt"/>
</bean>
in myconfig.xml under /WEB-INF/classes/config/myconfig.xml. Then from where it will start its search?
2)Is it faster to search if I give direct location of the resource instead of giving classpath:
i.e
<bean class="mybean">
<property name="myresource" value="classpath:/WEB-INF/classes/myfolder/myfile.txt"/>
</bean>
instead of
<bean class="mybean">
<property name="myresource" value="classpath:myfile.txt"/>
</bean>
Thanks...
Take a look at http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/resources.html#resources-classpath-wildcards
So
classpath:
starts at the root of your classpath.No,
classpath:
is always relative to the classpath root. If you put a/
at the start of the path, it is silently removed.No, that won't work at all. The classpath root contains
/WEB-INF/classes
, so the path should be relative to that.Don't confuse
classpath:
paths with file paths, they have no relation to each other.