Spring官网:spring.io
Spring Framework系统架构
Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基
IOC(Inversion of Control)控制反转
对象的创建控制权由程序转移到外部,这种思想称为控制反转
即使用对象的时侯,在程序中不要主动new对象,而是由外部提供对象。
//原来的对象创建
public class BookServiceImpl implements BookService{
private BookDao bookDao=new BookDao();
}
//IOC思想
public class BookServiceImpl implements BookService{
private BookDao bookDao;
}
Spring技术对IOC思想进行了实现
Spring提供了一个容器,称为IOC容器,用来充当IOC思想中的外部
IOC容器负责对象的创建、初始化等一系列的工作,被创建或者被管理的对象在IOC容器中统称为Bean
DI(Dependency Injection)依赖注入
在IOC容器中建立起bean与bean之间的依赖关系的整个过程,叫做依赖注入
总结:IOC与DI的最终效果:使用对象时不仅可以直接从IOC容器中获取,并且获取到的bean已经绑定了所有的依赖关系
IOC简单案例
1.pom.xml添加spring依赖
<!-- 添加spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
2.在resources目录下添加spring配置文件
3.配置bean
<!-- 配置bean-->
<bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.itheima.service.impl.BookServiceImpl"/>
4.main中使用IOC容器来创建对象
//获取IOC容器
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
//获取BookDao的bean
BookDao bookDao=(BookDao) ctx.getBean("bookDao");
bookDao.save();
DI入门案例