Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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_Initialization_Aop_Aspect - Fatal编程技术网

Java Spring方面/顾问的初始化顺序

Java Spring方面/顾问的初始化顺序,java,spring,initialization,aop,aspect,Java,Spring,Initialization,Aop,Aspect,有没有一种方法可以配置Spring中不同方面(或者更准确地说是它们对应的顾问)的初始化方式?注意,我谈论的不是通知顺序,而是方面的初始化 这个问题的背景是一个用例,其方面a依赖于服务X,应该由方面B建议。但是,由于方面A首先初始化并强制创建服务X,方面B不应用于服务 如何更改初始化顺序而不使服务X依赖于方面B(这将是一个解决办法,因为它强制执行所需的顺序,但服务不必处理其方面 如果您想了解我的问题的大局,一个方面通常只是一个@aspect注释的类,它也用@组件进行注释,或者具有相应的定义。换句话

有没有一种方法可以配置Spring中不同方面(或者更准确地说是它们对应的顾问)的初始化方式?注意,我谈论的不是通知顺序,而是方面的初始化

这个问题的背景是一个用例,其
方面a
依赖于
服务X
,应该由
方面B
建议。但是,由于
方面A
首先初始化并强制创建
服务X
方面B
不应用于服务

如何更改初始化顺序而不使
服务X
依赖于
方面B
(这将是一个解决办法,因为它强制执行所需的顺序,但服务不必处理其方面


如果您想了解我的问题的大局,

一个方面通常只是一个
@aspect
注释的类,它也用
@组件进行注释,或者具有相应的
定义。换句话说,它只是一粒豆子


定义bean初始化顺序的唯一方法是使用
依赖于
属性(或
@DependsOn
)或通过处理导入上下文的顺序。

好的,如果我的
方面B
是通过
@EnableCaching
自动创建的缓存,而不是由我显式地放在一起,没有比依赖
BeanFactoryCacheOperationsSourceAdvisor
(这是缓存方面的最后一个相关bean)更抽象的方法来等待它的创建,对吗?因此,如果spring缓存的默认bean在将来更改,它将不再工作…@chk我认为您最好将它放在另一个.hmm导入的
@Configuration
类中,不幸的是,这没有真正的帮助。它影响在不同配置中显式定义的bean的初始化顺序,但这似乎不适用于由
@EnableCaching
隐式声明的bean。。。