Ioc(控制反转)
使用对象时,由主动new 对象转换为外部提供对象,这个过程中创建控制权由程序转移到外部,此思想称为控制反转
Spring 技术对Ioc思想进行了实现
spring提供了一个容器为ioc容器,用来当ioc思想的外部,我自己的理解就是你想要的对象都可以告诉它,包括dao,service
Ioc容器负责的创建,初始化等工作,被创建或管理的对象在ioc容器中统称为Bean
Ioc入门案例:
第一步在pom.xml文件中导入spring坐标,这里的版本根据情况
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
第二步定义spring管理的接口(类)
我们先用dao,service, 以及实现类,这些自己想怎么写就怎么写,只是做测试使用
第三步创建spring配置文件,配置对应类作为spring管理的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">
<!--导入的spring 的坐标是spring_context -->
<!--配置bean-->
<!-- bean标签就是配置bean,id是名字,class是定义类型-->
<bean id="bookDao" class="org.example.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="org.example.service.impl.BookServiceImpl"/>
</beans>
注意定义bean的id是不能重复的
第四步初始化Ioc容器(Spring核心容器/spring容器),通过容器获取bean
//先获取ioc容器,前提是你要有提前配置好的文件,没有就等于null,
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean,参数肯定是你在配置bean文件的时候起的名称,拿到的是对象
// BookDao bookDao = (BookDao) ctx.getBean("bookDao");
// bookDao.save();
BookService bookService = (BookService) ctx.getBean("bookService");
bookService.save();
这些是基本的ioc的入门案例,自我总结如有不周请包含,感谢阅读!