Spring Ioc基本概念
控制反转(Ioc)用来消减计算机程序的耦合问题
Spring中实现控制反转的是IOC容器,实现IOC容器的方法是依赖注入
IOC容器的设计基于BeanFactory和ApplicationContext接口
// IOC容器
ApplicationContext appCon=new ClassPathXmlApplicationContext("applicationContext.xml");
// 告诉了IOC容器需要哪个类
TestDao tt=(TestDao)appCon.getBean("test");
Spring IoC容器—ApplicationContext接口
public class Test {
public static void main(String[] args) {
ApplicationContext appCon=new ClassPathXmlApplicationContext("applicationContext.xml");
//通过容器获取test实例
TestDao tt=(TestDao)appCon.getBean("test"); //test为配置文件的id
tt.sayHello();
}
}
public interface TestDao {
void sayHello();
}
public class TestDaoImpl implements TestDao {
@Override
public void sayHello() {
System.out.println("Hello,Study Hard!");
}
}
配置文件
<?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">
<!-- 将指定类TestDaoImpl配置给Spring,让Spring创建其实例-->
<bean id="test" class="com.demo.springdemo01.TestDaoImpl"/>
</beans>
依赖注入
public interface TestDIDao {
void sayHello();
}
public class TestDIDaoImpl implements TestDIDao {
@Override
public void sayHello()