一个 Spring Bean 定义 包含什么?
在 Spring 框架中,一个 Spring Bean 定义通常包含以下几个关键元素:
Bean 的 ID 或名称:每个 Bean 都需要一个唯一的标识符,可以通过 XML 配置文件、Java 注解或 Java 配置类来定义。
Bean 的类:指定 Bean 的实现类,Spring 会根据这个类创建 Bean 的实例。
作用域 (Scope):定义 Bean 的生命周期和可见性。常见的作用域包括:
singleton
:默认作用域,Spring 容器只会创建一个 Bean 实例。prototype
:每次请求都会创建一个新的 Bean 实例。request
:在 Web 应用中,每个 HTTP 请求都会创建一个新的 Bean 实例。session
:在 Web 应用中,每个 HTTP 会话都会创建一个新的 Bean 实例。globalSession
:在 Portlet 应用中,每个全局 HTTP 会话都会创建一个新的 Bean 实例。构造函数参数:可以通过构造函数注入依赖的 Bean。
属性:可以通过 setter 方法注入依赖的 Bean 或基本类型的值。
初始化方法:可以指定一个方法,在 Bean 创建后进行初始化。
销毁方法:可以指定一个方法,在 Bean 被销毁前进行清理。
依赖注入:可以通过构造器、setter 方法或字段注入其他 Bean。
注解:如果使用注解配置,可以使用如 @Component
、@Service
、@Repository
、@Controller
等注解来定义 Bean。
条件化 Bean 定义:可以使用 @Conditional
注解来根据特定条件创建 Bean。
这些元素可以通过 XML 配置、Java 注解或 Java 配置类来定义,具体取决于使用的 Spring 配置方式。