什么是Bean对象?
在Spring框架中,被Spring IoC容器所管理的对象就叫做Bean
1、创建Spring项目
- 创建一个maven项目
- 添加spring-context依赖
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.14</version>
</dependency>
- 创建一个启动类。(为从spring容器中获取bean对象做准备)
2、把Bean对象存储到Spring中
- 创建一个Bean对象
- 创建一个spring-config.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
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
- 创建Bean
- 将Bean存储到容器中
- 从Spring容器中读取到Bean
- 通过名称+类型查询对象
2. 通过名称查询对象
3. 通过类型查询对象
认识ApplicationContext和BeanFactory
ApplicationContext
ApplicationContext在进行上下文获取时就把xml中所有的对象存储到spring容器中
比较费内存,一次性加载,之后读取会非常快
BeanFactory
BeanFactory只有到从spring容器中获取bean对象时候才会进行加载
节省内存,调用时才会加载,所以效率不高
ApplicationContext是BeanFactory的子类 所以ApplicationContext的功能更加强大
ApplicationContext的优势:
- 功能更丰富:ApplicationContext提供了更多的企业级功能和高级特性,如AOP、国际化支持、事件机制等。
- 自动实例化:ApplicationContext在应用启动时自动实例化和初始化所有Bean,提供更快速的访问速度。
- 注解处理:ApplicationContext支持自动扫描注解,并根据注解配置进行对象的创建和管理。
- 集成性更好:ApplicationContext更容易与其他Spring框架的模块集成,如Spring MVC、Spring Security等