首先要了解depends-on或@DependsOn作用,是用来表示一个bean A的实例化依赖另一个bean B的实例化, 但是A并不需要持有一个B的对象,如果需要的话就不用depends-on,直接用依赖注入就可以了或者ref标签。

1、@DependsOn用法:

  • 直接或者间接标注在带有@Component注解的类上面;
  • 直接或者间接标注在带有@Bean 注解的方法上面;

1)在Componnent注解上使用:

//Dependson01
package lantao.Dependson;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component;@Component
@DependsOn("dependson02")
public class Dependson01 {Dependson01(){System.out.println("Dependson01 success");}
}//Dependson02
package lantao.Dependson;
import org.springframework.stereotype.Component;@Component("dependson02")
public class Dependson02 {Dependson02(){System.out.println(" dependson02 Success ");}
}

测试:

package lantao.Dependson;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-bean-scan-dependson.xml");}
}

输出结果:

dependson02 Success

Dependson01 success

2)在Bean注解上使用:

package lantao.Dependson;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;@Configuration
public class TestDependsOnMethod {@Bean("dependson01")@DependsOn("dependson02")public Dependson01 test1 (){return new Dependson01();}@Bean("dependson02")public Dependson02 test2 (){return new Dependson02();}
}

输出结果:

dependson02 Success

Dependson01 success

2、depends-on使用:

<bean id="testOneBean" class="lantao.sepl.TestOneBean" depends-on="testTWoBean"/><bean id="testTWoBean" class="lantao.sepl.TestTwoBean"/>

@DependsOn或depends-on配置的使用相关推荐

  1. testng.xml文件配置

    TestNG的DTD检查文件:http://testng.org/testng-1.0.dtd.php <?xml version="1.0" encoding=" ...

  2. Gradle7.x学习篇02 - task配置

    task的类型 tasks是org.gradle.api.internal.tasks.DefaultTaskContainer的一种实例,新版本一般建议通过register 来配置和创建task的: ...

  3. Spring--IoC(1)

    目录 IoC容器和Bean Container 配置元数据 Container实例化 使用Container Bean Bean命名 Bean实例化 构造函数实例化 静态工厂方法实例化 实例工厂方法实 ...

  4. ROS学习笔记26(ROS的命令行工具)

    需要说明的是:本篇博客内容来自于<ROS机器人编程 从基本概念到机器人应用程序编程实战>的第五章,本是打算参考和翻译官网相关资料,但官网资料的质量明显没有这本书描述的更为清楚,记录于此仅仅 ...

  5. Spring Framework Core IOC

    Core IoC Container 依赖注入的方式如下: 通过构造函数参数 通过工厂方法的参数 从构造或者工厂方法返回的对象实例上设置的属性 这个过程通过直接使用类的构造或者类似服务定位器模式的机制 ...

  6. Spring Framework 5.0.0.M4中文文档第3章

    文章目录 Part II. 核心技术 3. IoC容器 3.2 容器概述 3.2.1 配置元数据 3.2.2 实例化容器 3.2.3 使用容器 3.3 Bean概述 3.3.1 命名bean 3.3. ...

  7. EJB_消息驱动发展bean

    消息驱动发展bean Java信息服务(Java MessageService) Java 信息服务(Java Message Service,简称 JMS)是用于訪问企业消息系统的开发商中立的API ...

  8. ROS系统 服务数据的定义与使用

    如何自定义服务数据 定义srv文件 在package.xml中添加功能包依赖 在CMakeLists.txt添加编译选项 编译生成语言相关文件 cd ~/catkin_ws/src/learning_ ...

  9. ROS系统 C++或Python实现话题消息的定义与使用

    如何自定义话题消息 定义msg文件 在package.xml中添加功能包依赖 在CMakeLists.txt添加编译选项 编译生成语言相关文件 创建 msg 文件 cd ~/catkin_ws/src ...

  10. Magicodes.Sms短信库的封装和集成

    简介 Magicodes.Sms是心莱团队封装的短信服务库,已提供Abp模块的封装. Nuget 新的包 开始使用 如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写.主要有 ...

最新文章

  1. Ubuntu下安装node和npm
  2. [Noi2016]区间
  3. java 判断季节,Java-用switch判断季节
  4. sd卡测速工具_拍完照回家发现SD卡损坏,拯救你的照片就用这个办法!
  5. 下方向键_求助:Deepin-linux-opencv方向键
  6. Python天天美味(17) - open读写文件
  7. 解决flash的虚框问题
  8. html报告怎么发送给别人,如何将由Html-test runner(.html)生成的报告通过电子邮件发送给特定用户?...
  9. js模块封装示例_AngularJS模块教程示例
  10. WCF中使用代理链技术恢复客户端代理层级
  11. 视频教程-Oracle 11G 入门到项目实战-Oracle
  12. weblogic安装及部署
  13. 程序员文档写作能力(三)-如何处理好微信、邮件、开会时的话术
  14. PCB Layout 注意事项——布线
  15. 分布式事务 java代码_Java分布式事务概念与实现示例
  16. 深入 CoreML 模型定义
  17. 色彩空间与色彩深度。详细分析相机中sRGB/AdobeRGB、RAW/JPG到底该怎么选
  18. Spring的AOP的基于AspectJ注解开发——Spring的JDBC的模板的使用——Spring的事务管理
  19. maya表面种植物体插件 Plant Objects on surface v1.0 下载及教程
  20. c语言改变图片颜色,用c语言把bmp格式的彩色图片转换成黑白的

热门文章

  1. CentOS7中Docker安装mysql主从复制、日常排错
  2. wincc工程组态论文_仪表人零基础学系统组态,必备知识!2020.12.12
  3. 【AR】DroidCam笔记本调用手机摄像头(smartphone's camera as pc webcam)
  4. 原子结构示意图全部_所有原子结构示意图 (1)
  5. 电脑上如何进行录屏?
  6. HP服务器远程管理工具iLO详细介绍
  7. EDM大师独家收藏的30个绝佳节日邮件模板
  8. RapidMiner是什么,主要的功能和特点是什么?
  9. java中前加加++和后加加++的详解
  10. 鸿蒙电视rom,华为鸿蒙os刷机包