先使用,后原理。
控制反转简介
控制反转(IoC,Inverse of Control)。
什么被反转了?获取对象的过程被反转了。
传统方式,通过new新建对象。
IoC方式,让Spring帮你建对象。
控制反转实现
新建Java Project。
通过“Build Path”导入需要的jar包。
按如下目录建立package、class文件和.xml配置文件。
各文件内容
- Product.java
package myspring.pojo;
public class Product {
private String name;
private String dateOfProcessing;
private float weight;
/*要使能通过Java Bean为各变量设置值,
必须在源Class文件中建立get和set函数。
如:对name变量,要建立getName()和setName()函数*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDateOfProcessing() {
return dateOfProcessing;
}
public void setDateOfProcessing(String dateOfProcessing) {
this.dateOfProcessing = dateOfProcessing;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
public void printWeight() {
System.out.println("Weight of product "+name+" is "+weight+" kg.");
}
}
- applicationContext.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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 配置Java bean -->
<bean id="product" class="myspring.pojo.Product">
<property name="name" value="pencil"/>
<property name="dateOfProcessing" value="12-25-1996"/>
<property name="weight" value="0.01"/>
</bean>
</beans>
- TestSpring.Java
package myspring.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import myspring.pojo.Product;
public class TestSpring {
public static void main(String[] args) {
//解释配置文件
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] {"applicationContext.xml"});
//新建对象
Product product = (Product) context.getBean("product");
product.printWeight();
}
}
- 运行TestSpring.java,得到如下结果
红字为log信息。
文章内容参考自:http://how2j.cn/k/spring/spring-ioc-di/87.html?p=52209
为记录学习过程所需,侵删。