spring松耦合
来源:互联网 发布:淘宝类目没有颜色分类 编辑:程序博客网 时间:2024/05/16 19:09
假设
AClass和BClass都implement了接口AInterface的方法fun
调用的时候
要不 AInterface obj = new AClass();
要不 AInterface obj = new BClass();
然后 obj.fun();
因为老子的代码中有很多这样的的代码段
AInterface obj = new AClass();
obj.fun();
老子想拿BClass替换AClass时,只想改配置文件,代码不想改。
也就是老子现在就想写这样的代码
AInterface obj = new xxxx();
xxxx.fun();
当使用spring实现时
新建一个辅助类
public class AHelper{
AInterface interface;
public void fun(){
this.interface.fun();
}
public void setInterface(AInterface input){
this.interface = iput;
}
}
配置文件中,将AClass替换成BClass就能完成切换
<bean id="AHelper" class="AHelper">
<property name="interface" ref="a" />//将成员变量interface注入成AClass
//这里用的是ref,而不是value,因为AHelper中的成员interface不是一个简单的值,
//如果他是简单的string,int就能用value,于是这里只能指定bean的id了,用ref,不用value
//就相当于new AClass,然后给interface赋值这个new出来的对象。
</bean>
<bean id="a" class="AClass" />
<bean id="b" class="BClass" />
这样就能达到目的
AHelper h = (AHelper)context.getBean("AHelper");
h.fun();
- Spring松耦合实例
- Spring松耦合实例
- spring松耦合
- Spring松耦合
- Spring 松耦合实例
- Spring松耦合的实现
- 耦合、紧耦合、松耦合
- 2、spring的松耦合示例
- 松耦合和紧耦合
- 新发现了Hibernate3.2与Spring松耦合的集成
- 使用Spring AOP松散耦合
- 强内聚与松耦合
- 强内聚、松耦合
- 强内聚与松耦合
- 强内聚、松耦合
- 强内聚与松耦合
- 强内聚与松耦合
- 前端的松耦合
- docker配置文件详解
- javaweb三大框架SSH解读
- 迭代法求平方根
- An error occurred during the installation of assembly 'Microsoft.VC90.CRT,version = "9.0.21022.8"
- Java String.split() 关于空值(empty results)
- spring松耦合
- Java集合架构____AbstractCollection源码解析
- Android--通知栏
- VRTK使用总结
- 二维数组---矩阵转置
- Zookeeper介绍及简单配置
- mysql重复插入insert时更新ON DUPLICATE KEY UPDATE
- 《回忆我的母亲》—— 朱德
- 二维数组---杨辉三角