1.首先下载spring,collection, log的jar包:
附上链接:
https://mirrors.tuna.tsinghua.edu.cn/apache//commons/collections/binaries/commons-collections4-4.2-bin.zip
http://111.63.122.150/mirrors.shu.edu.cn/apache//commons/logging/binaries/commons-logging-1.2-bin.zip
http://repo.spring.io/release/org/springframework/spring/5.1.0.RELEASE/spring-framework-5.1.0.RELEASE-dist.zip
2.创建一个新的java项目,并新建一个文件夹:
选中文件夹中的这些jar包,直接右键buildpath->添加到library中如下图所示:
(暂时我只用到了这些库)
3.为项目创建一个beans.xml文件(在src目录下)内容为:
<?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-3.0.xsd">
<bean id="zhangsan" class="springs.Zhangsan"></bean>
<bean id="helloworld" class="springs.HelloWorld"></bean>
<bean id="wanger" class="springs.Wanger"></bean>
<bean id="javaWork" class="springs.JavaWork">
<property name="Testspring" ref="zhangsan"></property>
</bean>
</beans>
4.创建包与类:
贴上代码:
package springs;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import spring.JavaWork;
public class SpringTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
JavaWork javaWork = (JavaWork)context.getBean("javaWork");
javaWork.doTest();
}
}
package spring;
public interface Testspring {
public void test();
}
package spring;
public class JavaWork {
private Testspring testspring;
public void setTestspring(Testspring testspring) {
this.testspring=testspring;
}
public void doTest() {
testspring.test();
}
}
package springs;
public class Wanger implements Testspring{
public void test() {
System.out.println("王二来了");
}
}
package springs;
public class Zhangsan implements Testspring{
public void test() {
System.out.println("张三来了");
}
}
(我们可以通过修改beans中的ref对应的id来实现输出张三还是王二)
5.注意事项:
(1)beans中千万千万不能出错:比如id名,class名。
(2) 此处name一定要与
JavaWork中的private Testspring testspring的testspring名一致。
(3)JavaWork中的
public void setTestspring(Testspring testspring) {
this.testspring=testspring;
}此处的方法为名与testspring一定对应,否则会出现各种奇葩问题。
诸如:
这是要老命的问题,查了好久才发现与这里无关。