笔记 笔记
首页
  • 开发工具
  • Java Web
  • Java 进阶
  • 容器化技术
  • Java 专栏

    • Java 核心技术面试精讲
    • Java 业务开发常见错误 100 例
  • 数据库专栏

    • MySQL 实战 45 讲
    • Redis 核心技术与实战
  • 安全专栏

    • OAuth 2.0 实战课
  • 计算机系统
  • 程序设计语言
  • 数据结构
  • 知识产权
  • 数据库
  • 面向对象
  • UML
  • 设计模式
  • 操作系统
  • 结构化开发
  • 软件工程
  • 计算机网络
  • 上午题错题
在线工具 (opens new window)

EasT-Duan

Java 开发
首页
  • 开发工具
  • Java Web
  • Java 进阶
  • 容器化技术
  • Java 专栏

    • Java 核心技术面试精讲
    • Java 业务开发常见错误 100 例
  • 数据库专栏

    • MySQL 实战 45 讲
    • Redis 核心技术与实战
  • 安全专栏

    • OAuth 2.0 实战课
  • 计算机系统
  • 程序设计语言
  • 数据结构
  • 知识产权
  • 数据库
  • 面向对象
  • UML
  • 设计模式
  • 操作系统
  • 结构化开发
  • 软件工程
  • 计算机网络
  • 上午题错题
在线工具 (opens new window)

购买兑换码请添加

添加时候请写好备注,否则无法通过。

  • Maven

  • Bootstrap

  • Spring

    • Spring 概述
    • Spring 的入门
    • Spring 的工厂类
    • Spring 的 Bean
      • 什么是 Bean
      • Spring 创建 Bean 的三种方式
      • Bean 的作用范围
      • Bean 的生存周期
    • Spring 的依赖注入(DI)
    • 动态代理
    • Spring AOP
    • Spring 的事务管理
  • Spring MVC

  • MyBatis

  • JUnit

  • GitFlow 工作流指南

  • SpringBoot

  • Reactor

  • 微服务

  • Java Web
  • Spring
EasT-Duan
2023-04-28
目录

Spring 的 Bean

欢迎来到我的 ChatGPT 中转站,极具性价比,为付费不方便的朋友提供便利,有需求的可以添加左侧 QQ 二维码,另外,邀请新用户能获取余额哦!最后说一句,那啥:请自觉遵守《生成式人工智能服务管理暂行办法》。

# Spring 的 Bean

# 什么是 Bean

Spring bean 是 Spring 框架中的一个核心概念,它是一个由 Spring 容器管理的 Java 对象。在 Spring 应用程序中,所有的组件(如 Controller、Service、Dao 等)都是以 bean 的形式存在于 Spring 容器中。Spring 容器负责创建、管理和组织 bean 之间的依赖关系,以及在需要时将它们注入到其他 bean 中。

Spring bean 具有以下特点:

  • 可以通过依赖注入的方式来获取其他 bean 的实例;
  • 可以通过作用域来控制 bean 的生命周期;
  • 可以通过配置文件或注解来定义 bean 的属性和行为;
  • 可以通过 AOP 技术来对 bean 进行增强。

Spring bean 的管理使得应用程序更加模块化、松耦合,也更加易于测试、维护和扩展。

# Spring 创建 Bean 的三种方式

  1. 使用默认的构造函数创建

    • 在 Spring 的配置文件中配置 bean 标签,配置 id 和 class 后,且没有其他的属性和标签时采用的就是默认构造函数创建,如果对象中没有构造函数,则无法创建。

    • <bean id="accountService" class="com.dfd.service.IAccountServiceImpl"></bean>
      
      1
  2. 使用普通工厂中的方法创建对象,或是使用某个类中的方法创建对象,并存入 Spring 容器

    • <bean id="instanceFactory" class="com.dfd.factory.InstanceFactory"></bean>
      <bean id="accountService" factory-bean="instanceFactory" factory-method="getAccountService"></bean> 
      
      1
      2
    • public class InstanceFactory {
      	public IAccountService getAccountService() {
      		return new IAccountServiceImpl();
      	}
      }
      
      1
      2
      3
      4
      5
  3. 用静态方法创建对象,使用某个类中静态方法创建对象,并且存入 Spring 容器

    • <bean id="accountService" class="com.dfd.factory.StaticFactory" factory-method="getAccountService"></bean>
      
      1

# Bean 的作用范围

bean 标签的 Scope 属性 用于指定 bean 的作用范围

  • singleton:单例的 (默认的)
  • prototype:多例的
  • request:作用于 web 应用的请求范围
  • session:作用于 web 应用的回话范围
  • global-session:当应用处于集群环境时,他就是 session

# Bean 的生存周期

  • 单例对象:
    出生:当容器创建时,对象出生
    活着:当容器活着,对象就活着
    死亡:当容器消亡,对象就消亡
  • 多例对象:
    出生:当我们使用对象时 Spring 就为我们创建
    活着:只要在使用过程中就一直活着
    死亡:当我们长时间不使用的时候,java 的垃圾回收机制会将对将对象消亡,这个时候对象死亡
#Spring
上次更新: 2025/04/12, 05:37:39
Spring 的工厂类
Spring 的依赖注入(DI)

← Spring 的工厂类 Spring 的依赖注入(DI)→

最近更新
01
Reactor 核心
02-24
02
前置条件
10-30
03
计算机网络
09-13
更多文章>
Theme by Vdoing | Copyright © 2019-2025 powered by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式