控制反转:对象创建的控制权由人为的new交给容器来控制。
基本操作:
1、拷贝jar包,最基本的有六个
2、建一个sourcefolder,用来放配置文件
3、配置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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
id:bean的唯一标记,通过该id从容器中获取对象
class:全路径类名
-->
<bean id="bean1" class="com.huaxin.edu.bean.Bean1"></bean>
</beans>
id名由自己取,获取类时用到,类路径让容器找到这个类
4、得到类
// 加载spring配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
// 从容器中获取对象
Bean1 bean1 = (Bean1)applicationContext.getBean("bean1");
// 调用方法运行
bean1.test();
可以看到现在已经不用new即可得到类对象。
依赖注入:
在一个类中需要调用另一个类时,有两种注入方式。
方式1、构造方法注入
public class Bean2 {
private Been1 mybean1;
public Bean2(Been1 mybean1) {
super();
this.mybean1 = mybean1;
}
xml:
<bean id="Bean2" class="spring_test.Bean2">
<constructor-arg name="mybean1" ref="Been1"></constructor-arg>
</bean>
方式2、成员方法注入。
public class Bean3 {
private Been1 mybean;
public Been1 getMybean() {
return mybean;
}
public void setMybean(Been1 mybean) {
this.mybean = mybean;
}```
xml:
<bean id="Bean3" class="spring_test.Bean3">
<property name="mybean" ref="Been1"></property>
</bean>