版权声明
笔记出自《Spring 开发指南》一书。
Spring 初探
前面我们简单介绍了 Spring 的基本组件和功能,现在我们来看一个简单示例:
- Person接口
Person接口定义了一个 say 的方法,在其不同的实现中实现了各自的 say 逻辑。/** * @author X */ public interface Person { public void say(); }
- Person接口的两个实现
/** * @author X */ public class Man implements Person { private String word; public String getWord() { return word; } public void setWord(String word) { System.out.println("执行了Set"); this.word = word; } @Override public void say() { System.out.println("一个男人委屈的说:" + word); } }
/** * @author X */ public class Woman implements Person { private String word; public String getWord() { return word; } public void setWord(String word) { this.word = word; } @Override public void say() { System.out.println("一个女人委屈的说:" + word); } }
- Spring配置文件(bean.xml)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="TheAction" class="Man"> <property name="word"> <value>一百块钱都不给我还打我</value> </property> </bean> </beans>
- 调用代码
import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; /** * @author X */ public class Run { public static void main(String[] args) { ApplicationContext ac = new FileSystemXmlApplicationContext("D:\\Study\\study-spring\\src\\main\\resources\\bean.xml"); Person action = (Person) ac.getBean("TheAction"); action.say(); } }
运行结果如下图所示:
怎么样,是不是很简单?通过这个简单的例子,我们可以看到,我们在实例化Person的时候,根本无需知道它是如何实现的。在编码中,我们只需要去关心接口就可以了,而无需关心它的创建过程,因为这件事 Spring 已经帮我们做掉了。如果你想了解更多,推荐你去了解控制反转(IOC)和依赖注入(DI)的概念。