Spring 容器
Spring 容器主要的功能是负责创建、配置、管理Bean的生命周期。它提供了以下功能:
1.IoC(控制反转):Spring 容器通过控制对象的创建和依赖注入来实现“反转控制”,即对象不再自己管理依赖的对象,而是由容器来提供依赖。
2.DI(依赖注入):通过构造器、setter 或字段注入等方式,将对象的依赖自动注入到目标对象中。
3.生命周期管理:Spring 容器负责管理 Bean 的创建、初始化、销毁等生命周期操作。
Spring 容器的实现
BeanFactory:是最基本的容器,它提供了最基本的功能,如加载 Bean 配置文件,管理 Bean 的创建与销毁等。
ApplicationContext:是 BeanFactory 的子接口,提供了更多的功能和扩展
Spring 容器的工作流程
1.加载配置:容器从指定的配置源(XML文件、注解类或Java配置类)中读取配置信息。2.创建 Bean:容器根据配置创建 Java 对象(Bean)。
3.依赖注入:容器将所需的依赖注入到每个 Bean 中。
4.初始化 Bean:容器根据配置调用 Bean 的初始化方法。
5.销毁 Bean:容器在应用关闭时销毁 Bean。
Spring 容器的配置方式
基于 XML 的配置
<!-- spring-config.xml -->
<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">
<!-- 定义一个 Bean -->
<bean id="car" class="com.example.Car">
<property name="engine" ref="engine"/>
</bean>
<bean id="engine" class="com.example.Engine"/>
</beans>
基于注解的配置
@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig {
// Spring 容器会自动扫描指定包下的类并创建 Bean
}
@Component
public class Car {
private Engine engine;
@Autowired
public Car(Engine engine) {
this.engine = engine;
}
}
@Component
public class Engine {
public void start() {
System.out.println("Engine starting...");
}
}
标签:容器,依赖,Spring,配置,学习,Bean,寒假,public
From: https://www.cnblogs.com/wangzilin0507/p/18698640