Bean 的作用域有哪些?如何在 Spring 中创建 Bean?

发布时间 2023-10-05 16:35:16作者: 小崽子&

Bean 的作用域有哪些?

在 Spring 中,Bean 的作用域定义了 Bean 实例的生命周期和可见性。

Spring 定义了以下五种作用域:

1、singleton:单例模式,一个 Bean 容器中只存在一个实例。

2、prototype:每次请求都会创建一个新的实例。

3、request:每个 HTTP 请求都会创建一个新的实例。

4、session:每个 HTTP Session 都会创建一个新的实例。

5、global-session:全局的 HTTP Session 中只会创建一个实例。

如何在 Spring 中创建 Bean?

在 Spring 中,有三种方式可以创建 Bean:

1、使用构造函数创建 Bean。

2、使用静态工厂方法创建 Bean。

3、使用实例工厂方法创建 Bean。

其中,第一种方式是最常见的创建 Bean 的方式,可以在 XML 配置文件中使用 元素来定义 Bean,也可以使用 Java 注解来定义 Bean。

例如,在 XML 配置文件中定义一个 UserService 的 Bean:

<bean id="userService" class="com.example.UserService">
    <property name="userDao" ref="userDao"/>
</bean>

这个配置表示创建一个 id 为 userService、类型为 com.example.UserService 的 Bean,同时注入一个名为 userDao 的 Bean。