创建项目
1、使用IDEA创建Maven工程
2、IDEA配置Maven
搭建配置Spring
引入依赖
maven仓库查询网址:MavenRepository
spring基础包:
spring-core:Core模块主要包含Spring框架基本的核心工具类,Spring的其他组件要都要使用到这个包里的类。Core封装包是框架的最基础部分,提供IOC和依赖注入特性。
spring-beans:包含访问配置文件、创建和管理bean以及进行IOC/DI操作相关的所有类。
spring-context:建立在Core和Beans模块的基础之上,它是访问定义和配置的任何对象的媒介。提供了在基础IoC功能上的扩展服务,还提供了许多企业级服务的支持
spring-expression:EL表达式语言用于在运行时查询和操纵对象。
刷新maven等待自动下载
libraries中有了所有导入的包表示依赖引入完成
核心配置文件
这里需要创建一个配置文件和Spirng框架通信,文件路径为\src\main\resources文件名为applicationContext.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"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
https://www.springframework.org/schema/util/spring-util.xsd
">
<!-- bean definitions here -->
</beans>
把它复制到我们的配置文件后左上角会提示“Application context not configured for this file”,点击“Configure application context”,点击OK
编写代码测试
接口类
实现类
补充配置文件
将我们自定义的实现类交给Spring的容器管理
<bean id="userService" class="services.impl.UserServiceImpl"/>
测试类
Alt+Enter键导包
测试结果
可以看到控制台打印输出 证明确实从容器中获取到了userService实例
过程分析
BeanFactory
BeanFactory是基础类型的IOC容器,用于管理和创建Bean,它是IOC最基本的接口,为其他的IOC工场提供规范。
简单来说BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean、调用生命周期等方法。
ApplicationContext
实用的Bean工厂Application Context Application Context被称为应用上下文,它继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持、资源访问(如URL和文件)、事件传播等方面进行了良好的支持。
ClassPathXmlApplicationContext
从类路径ClassPath中寻找指定的XML配置文件,找到并装载 完成ApplicationContext的实例化工作。该类从类路径ClassPath中寻找指定的XML配置文件,找到并完成对象实例化工作。
context.getBean()
context.getBean()方法是通过配置文件中声明的bean标签id属性获取容器内的实例。