Spring中@DependsOn注解起什么作用呢?
下文笔者讲述Spring中DependsOn注解的功能简介说明,如下所示
DependsOn简介
@DependsOn注解
位于包 org.springframework.context.annotation 下
@DependsOn注解常用于
当一个Bean加载时,需要依赖其他Bean时,此时我们可以使用此注解
此注解可以保证@Depends-on中的Bean完成实例化后,再进行自身的初始化
@DependsOn注解功能
强制设置某一个bean在另一个前面初始化
DependsOn使用场景
资源文件初始化
当一个 Bean需要依赖于
其他Bean提供资源
(如数据库连接池)时
可使用 `@DependsOn` 确保资源 Bean 先被初始化
配置初始化
当一个 Bean需要读取由其他Bean设置配置信息时
可使用@DependsOn确保配置Bean先被初始化
例
两个 Bean:
DataSourceConfig和MyService
MyService需要使用DataSourceConfig中配置数据源
需要确保DataSourceConfig先被初始化
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
@Configuration
public class AppConfig {
@Bean
public DataSourceConfig dataSourceConfig() {
// 配置数据源
return new DataSourceConfig();
}
@Bean
@DependsOn("dataSourceConfig")
public MyService myService() {
// 创建并返回 MyService 实例
return new MyService();
}
}
class DataSourceConfig {
// 数据源配置逻辑
}
class MyService {
public MyService() {
// 构造方法中使用数据源
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


