DI配合接口编程实例

Posted 晴天小猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DI配合接口编程实例相关的知识,希望对你有一定的参考价值。

spring 提倡我们使用接口编程 配合di技术 可以实现程序间的解耦
 
通过一个字母大小写转换的案例来体验 spring 配合di的接口编程
1, 先建立一个接口
2, 用两个类来实现接口
3,把对象配置到spring中
4,使用
 
接口
package com.example;
 
/**
* Created by admin on 2017/12/8.
*/
public interface ChangeString {
public String change();
}
 
写一个类 实现该接口,将大写字母转成小写字母,由于要用到spring 配置bean 因此这个类的属性
必须要有getter 和 setter 的方法
 
package com.example;
 
/**
* Created by admin on 2017/12/8.
*/
public class StringUpper implements ChangeString {
private String string;
 
@Override
public String change() {
// 把小写字母转成大写字母
System.out.println("小写转大写" + string.toUpperCase());
return string.toUpperCase();
}
 
public String getString() {
return string;
}
 
public void setString(String string) {
this.string = string;
}
}
 
再写一个类实现接口,将小写转成大写
package com.example;
 
/**
* Created by admin on 2017/12/8.
*/
public class StringLower implements ChangeString {
private String string;
@Override
public String change() {
System.out.println("大写转小写" + string.toLowerCase());
return string.toLowerCase();
}
 
public String getString() {
return string;
}
 
public void setString(String string) {
this.string = string;
}
}
 
配置到spring中 为那两个类配置bean
<bean id="tolower" class="com.example.StringLower">
<property name="string">
<value>Hello World</value>
</property>
</bean>
<bean id="toupper" class="com.example.StringUpper">
<property name="string">
<value>hello world</value>
</property>
</bean>
 
使用
package com.test;
import com.helloSpring.UserService;
import com.ApplicationUtils.AppUtils;
import com.example.StringUpper;
import com.example.StringLower;
import com.example.ChangeString;
 
/**
* Created by admin on 2017/12/3.
*/
public class SpringTest {
public static void main(String[] args){
// 1 得到spring 对象
// UserService us = (UserService) AppUtils.getApp().getBean("service");
// us.sayHelloSpring();
// StringLower stringLower = (StringLower) AppUtils.getApp().getBean("tolower");
// StringUpper stringUpper = (StringUpper) AppUtils.getApp().getBean("toupper");
// stringLower.change();
// stringUpper.change();
// 使用接口来调用 这样可以很方便的切换,业务逻辑,假如你在bean 里面配置了两个id 一样的 // bean 由于他们都是实现统一接口,所以当你要切换到其他的实现时,只需要修改bean
ChangeString changeString = (ChangeString) AppUtils.getApp().getBean("tolower");
changeString.change();
}
}

以上是关于DI配合接口编程实例的主要内容,如果未能解决你的问题,请参考以下文章

Spring入门2

PLC经典编程实例——双恒压无塔供水

面向接口编程详解——编程实例

面向接口编程详解——编程实例

Spring 依赖注入怎么回事,还有面向方面编程是怎么回事

C# 实例解释面向对象编程中的接口隔离原则