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();
}
}