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。