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() { // 构造方法中使用数据源 } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。