版权声明:本文为博主原创文章,经博主允许,可自由共享,尽量不要用于商业用途。 https://blog.csdn.net/matrixbbs/article/details/88244662
1 安装JDK,并完成配置
2 安装STS,并完成相应的配置STS
3 启动,创建java project
4 创建包com.zfh.spring.chapter01
5 创建文件夹lib,复制所有spring4.2.0的jar包到lib目录下,然后添加到build path中
6创建接口和类,以及驱动类,创建配置文件,完成IOC配置,然后就可以测试了
IHelloMessage.java
package com.zfh.spring.chapter01;
public interface IHelloMessage {
public String sayHello();
}
Helloworld.java
package com.zfh.spring.chapter01;
public class Helloworld implements IHelloMessage {
@Override
public String sayHello() {
// TODO Auto-generated method stub
return "hello,everyone,i am in Tailand.";
}
}
HelloChina.java
package com.zfh.spring.chapter01;
public class HelloChina implements IHelloMessage {
@Override
public String sayHello() {
// TODO Auto-generated method stub
return "大家好,这儿是成都,你晓得撒!";
}
}
Person.java
package com.zfh.spring.chapter01;
public class Person {
private IHelloMessage helloMessage;
public IHelloMessage getHelloMessage() {
return helloMessage;
}
public void setHelloMessage(IHelloMessage helloMessage) { //这里,用setter方式完成注入
this.helloMessage = helloMessage;
}
public String sayHello() {
return this.helloMessage.sayHello();
}
}
Main.java
package com.zfh.spring.chapter01;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
//利用FileSystemResource读取配置文件
Resource r = new FileSystemResource("helloMessage.xml");
//利用XmlBeanFactory来加载配置文件,启动IOC容器
BeanFactory f = new XmlBeanFactory(r); //最新的包可能有替代的方法
//从IOC容器中获取Person类的实例
Person person = (Person) f.getBean("person");
//person实例向大家输出问候信息
String s = person.sayHello();
//在系统控制台中打印问候信息,由于在这里配置文件中配置是HelloWorld的实例,
//所以,在这里打印的是字符串:HelloWorld
System.out.println("The Person is currently saying: "+s);
}
}
helloMessage.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd"> <!-- 这一部分建议copy -->
<beans>
<bean id="helloworld" class="com.zfh.spring.chapter01.Helloworld"></bean>
<bean id="hellochina" class="com.zfh.spring.chapter01.HelloChina"></bean>
<bean id="person" class="com.zfh.spring.chapter01.Person">
<property name="helloMessage" ref="hellochina"></property> <!-- 在这里完成注入,运行项目时,这里可以换成别的bean注入进来 -->
</bean>
</beans>
7修改配置文件,就可以完成依赖注入的更新,用容器的方式完成一个bean对另一个bean的引用(也就是依赖)
所完成的依赖注入就是:
1 Person类在main中是容器管理的,不是new出来的
2 Person类在用接口的具体方法时,注入的是helloworld或是hellochina是用配置的方式来实现的