@DependsOn或depends-on配置的使用
首先要了解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配置的使用相关推荐
- testng.xml文件配置
TestNG的DTD检查文件:http://testng.org/testng-1.0.dtd.php <?xml version="1.0" encoding=" ...
- Gradle7.x学习篇02 - task配置
task的类型 tasks是org.gradle.api.internal.tasks.DefaultTaskContainer的一种实例,新版本一般建议通过register 来配置和创建task的: ...
- Spring--IoC(1)
目录 IoC容器和Bean Container 配置元数据 Container实例化 使用Container Bean Bean命名 Bean实例化 构造函数实例化 静态工厂方法实例化 实例工厂方法实 ...
- ROS学习笔记26(ROS的命令行工具)
需要说明的是:本篇博客内容来自于<ROS机器人编程 从基本概念到机器人应用程序编程实战>的第五章,本是打算参考和翻译官网相关资料,但官网资料的质量明显没有这本书描述的更为清楚,记录于此仅仅 ...
- Spring Framework Core IOC
Core IoC Container 依赖注入的方式如下: 通过构造函数参数 通过工厂方法的参数 从构造或者工厂方法返回的对象实例上设置的属性 这个过程通过直接使用类的构造或者类似服务定位器模式的机制 ...
- 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. ...
- EJB_消息驱动发展bean
消息驱动发展bean Java信息服务(Java MessageService) Java 信息服务(Java Message Service,简称 JMS)是用于訪问企业消息系统的开发商中立的API ...
- ROS系统 服务数据的定义与使用
如何自定义服务数据 定义srv文件 在package.xml中添加功能包依赖 在CMakeLists.txt添加编译选项 编译生成语言相关文件 cd ~/catkin_ws/src/learning_ ...
- ROS系统 C++或Python实现话题消息的定义与使用
如何自定义话题消息 定义msg文件 在package.xml中添加功能包依赖 在CMakeLists.txt添加编译选项 编译生成语言相关文件 创建 msg 文件 cd ~/catkin_ws/src ...
- Magicodes.Sms短信库的封装和集成
简介 Magicodes.Sms是心莱团队封装的短信服务库,已提供Abp模块的封装. Nuget 新的包 开始使用 如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写.主要有 ...
最新文章
- Ubuntu下安装node和npm
- [Noi2016]区间
- java 判断季节,Java-用switch判断季节
- sd卡测速工具_拍完照回家发现SD卡损坏,拯救你的照片就用这个办法!
- 下方向键_求助:Deepin-linux-opencv方向键
- Python天天美味(17) - open读写文件
- 解决flash的虚框问题
- html报告怎么发送给别人,如何将由Html-test runner(.html)生成的报告通过电子邮件发送给特定用户?...
- js模块封装示例_AngularJS模块教程示例
- WCF中使用代理链技术恢复客户端代理层级
- 视频教程-Oracle 11G 入门到项目实战-Oracle
- weblogic安装及部署
- 程序员文档写作能力(三)-如何处理好微信、邮件、开会时的话术
- PCB Layout 注意事项——布线
- 分布式事务 java代码_Java分布式事务概念与实现示例
- 深入 CoreML 模型定义
- 色彩空间与色彩深度。详细分析相机中sRGB/AdobeRGB、RAW/JPG到底该怎么选
- Spring的AOP的基于AspectJ注解开发——Spring的JDBC的模板的使用——Spring的事务管理
- maya表面种植物体插件 Plant Objects on surface v1.0 下载及教程
- c语言改变图片颜色,用c语言把bmp格式的彩色图片转换成黑白的
热门文章
- CentOS7中Docker安装mysql主从复制、日常排错
- wincc工程组态论文_仪表人零基础学系统组态,必备知识!2020.12.12
- 【AR】DroidCam笔记本调用手机摄像头(smartphone's camera as pc webcam)
- 原子结构示意图全部_所有原子结构示意图 (1)
- 电脑上如何进行录屏?
- HP服务器远程管理工具iLO详细介绍
- EDM大师独家收藏的30个绝佳节日邮件模板
- RapidMiner是什么,主要的功能和特点是什么?
- java中前加加++和后加加++的详解
- 鸿蒙电视rom,华为鸿蒙os刷机包