Java Spring上下文加载和组件扫描
这似乎是一个基本的查询,但想知道组件扫描标记是否可以在jar文件中加载applicationcontext文件吗 例如: 我已经为包定义了组件扫描:com.x.y.z,它位于一个jar文件中,这个jar文件为com.x.y.x.spring包中的jar文件定义了applicationContext.xml。扫描组件时是否会加载此上下文文件Java Spring上下文加载和组件扫描,java,spring,Java,Spring,这似乎是一个基本的查询,但想知道组件扫描标记是否可以在jar文件中加载applicationcontext文件吗 例如: 我已经为包定义了组件扫描:com.x.y.z,它位于一个jar文件中,这个jar文件为com.x.y.x.spring包中的jar文件定义了applicationContext.xml。扫描组件时是否会加载此上下文文件 此外,此applicationcontext还引用了同一jar中的另一个xml文件。dat也将与applicationContext文件一起加载。组件扫描仅查
此外,此applicationcontext还引用了同一jar中的另一个xml文件。dat也将与applicationContext文件一起加载。组件扫描仅查找具有Spring注释的类文件
如果要加载Spring配置文件,则必须在mail Spring上下文配置中指定它们的路径。不要在
com.x.y.z
中进行组件扫描,而是将其放入您自己的Spring上下文中,尝试导入该jar的applicationContext.xml
:
<import resource="classpath:com/x/y/x/spring/applicationContext.xml"/>
我猜想,这个上下文文件将定义
com.x.y.z
包的bean。Spring也将递归加载此导入文件引用的所有上下文文件。ok,但我没有使用xml格式定义bean,所有bean都是使用注释定义的,因此如果我在applicationContext.xml中放置componentScan标记,那么也会扫描包中的组件?如果您在com/x/y/x/spring/applicationContext.xml中有
,并且您将该xml导入自己的上下文xml中,那么您将拥有所有@Component
(和类似的)上下文中com.x.y.z
包中的注释bean。