Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring上下文加载和组件扫描_Java_Spring - Fatal编程技术网

Java Spring上下文加载和组件扫描

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文件一起加载。组件扫描仅查

这似乎是一个基本的查询,但想知道组件扫描标记是否可以在jar文件中加载applicationcontext文件吗

例如:

我已经为包定义了组件扫描:com.x.y.z,它位于一个jar文件中,这个jar文件为com.x.y.x.spring包中的jar文件定义了applicationContext.xml。扫描组件时是否会加载此上下文文件


此外,此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。