IOC的作用:解耦,降低耦合,解除层次间依赖关系。
1,添加依赖
<groupId>com.itheima</groupId>
<artifactId>day01_eesy_03spring</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
在pom中添加spring基础包
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
</dependencies>
2,配置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
https://www.springframework.org/schema/beans/spring-beans.xsd">
--把对象的管理交给spring管理
<!--把对象的创建交给spring来管理-->
<bean id="accountDao" class="com.itheima.dao.impl.AccountDaoImpl"></bean>
<bean id="accountService" class="com.itheima.service.AccountServiceImpl"></bean>
Beanfactory与ApplicationContext构建核心容器的区别
--两者都是spring的核心接口
--都可做spring的容器
--BeanFactory比较基础不常用,适用于多例,是顶层接口
--创建对象策略为延迟加载(什么时候由id获取对象,什么时候才真正的创建对象)
--ApplicationContext能够提供更多企业级应用,更加常用,多适用于单例对象
--立即加载(读取完配置文件就创建配置对象)
------(单例:所有请求都由一个对象处理
多例:每个请求都用一个新的对象处理)
ApplicationContext的三个常用实现类:
1,ClassPathXmlApplicationContext:
可加装类路径下的配置文件,要求配置文件在类路径下(不在不行
2,FileSystemXmlApplicationContext:
可加载磁盘任意路径下的配置文件(必须有权限)
3,AnnotationConfigApplicationContext:
用于读取注解创建容器