Spring配合接口实现解耦原理
2015-11-05 09:55
316 查看
一个简单的接口:
public interface ChangLetter {
public String change();
}
两个实现:
package com.pas.service;
import com.inter.ChangLetter;
public class LowLetter implements ChangLetter {
private String str;
@Override
public String change() {
// 大写-》小写
return str.toLowerCase();
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
package com.pas.service;
import com.inter.ChangLetter;
public class UpLetter implements ChangLetter {
private String str;
@Override
public String change() {
// 小写-》大写
return str.toUpperCase();
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
spring配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans 'dtd'>
<!--<bean id="changeLetter" class="com.pas.service.UpLetter">
<property name="str" value="abcdefg" />
</bean> -->
<bean id="changeLetter" class="com.pas.service.LowLetter"> <property
name="str" value="ABCDEFG" /> </bean>
</beans>
使用模拟view:
public class Test {
public static void main(String[] args) {
ApplicationContext ac= new ClassPathXmlApplicationContext("com/pas/service/beans.xml");
ChangLetter change= (ChangLetter) ac.getBean("changeLetter");
System.out.println(change.change());
}
}
重新配置Spring配置文件 代码无需更改
public interface ChangLetter {
public String change();
}
两个实现:
package com.pas.service;
import com.inter.ChangLetter;
public class LowLetter implements ChangLetter {
private String str;
@Override
public String change() {
// 大写-》小写
return str.toLowerCase();
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
package com.pas.service;
import com.inter.ChangLetter;
public class UpLetter implements ChangLetter {
private String str;
@Override
public String change() {
// 小写-》大写
return str.toUpperCase();
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
spring配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans 'dtd'>
<!--<bean id="changeLetter" class="com.pas.service.UpLetter">
<property name="str" value="abcdefg" />
</bean> -->
<bean id="changeLetter" class="com.pas.service.LowLetter"> <property
name="str" value="ABCDEFG" /> </bean>
</beans>
使用模拟view:
public class Test {
public static void main(String[] args) {
ApplicationContext ac= new ClassPathXmlApplicationContext("com/pas/service/beans.xml");
ChangLetter change= (ChangLetter) ac.getBean("changeLetter");
System.out.println(change.change());
}
}
重新配置Spring配置文件 代码无需更改
相关文章推荐
- java 中间 final修饰符
- SpringMVC返回json数据的三种方式
- Scanner类
- 在spring mvc中解析输入为json格式的数据有两种方式
- JAVA正则表达式过滤出中文、字母、数字
- 为什么选择 Java 8 ?
- 35 个 Java 代码性能优化总结
- java 获取指定小时前后
- JavaWeb应用开发概述
- Java 中正确使用 hashCode 和 equals 方法
- 使用update-alternatives切换ubuntu下默认java命令
- 关于打包自定义标签,并导入项目使用时,出现java.lang.NoClassDefFoundError: JspException异常,解决方法和注意事项!
- myeclipse不能在线更新插件的解决办法
- java JDK环境变量的配置及在win7控制台下dos执行java小程序
- Eclipse .classpath文件浅谈
- Java学习(二十):获取系统参数
- JVM/JRE/JDK关系图
- Java对象的深层拷贝
- java的学习路径
- Java中的访问控制