IoC入门案例(XML版)
1、添加Spring的依赖jar包:在pom.xml中导入Spring坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
2、定义Spring管理的类(接口)
public interface BookService {
public void save();
}
public class BookDaoImpl implements BookDao {
public void save() {
System.out.println("book dao save...");
}
}
public interface BookService {
public void save();
}
public class BookServiceImpl implements BookService {
private BookDao bookDao = new BookDaoImpl();
public void save() {
System.out.println("book service save ...");
bookDao.save();
}
}
3、添加spring配置文件:resources下添加spring配置文件applicationContext.xml,并完成bean的配置
<?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">
<bean id="bookDao" class="com.itzjy.dao.impl.BookDaoImpl" />
<bean id="bookService" class="com.itzjy.service.impl.BookServiceImpl"/>
</beans>
注:bean定义时,id属性在同一个上下文中不能重复
4.初始化IoC容器(Spring核心容器/Spring容器),通过容器获取bean
public class App2 {
public static void main(String[] args) {
//获取IoC容器
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean资源
BookService bookService = (BookService) ctx.getBean("bookService");
bookService.save();
}
}