返回顶部
首页 > 资讯 > 精选 >Spring中的bean概念是什么
  • 170
分享到

Spring中的bean概念是什么

2023-06-29 18:06:24 170人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关spring中的bean概念是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Bean是Spring框架中最核心的两个概念之一(另一个是面向切面编程aop)。1 定义Spri

这篇文章将为大家详细讲解有关spring中的bean概念是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    Bean是Spring框架中最核心的两个概念之一(另一个是面向切面编程aop)。

    1 定义

    Spring 官方文档对 bean 的解释是:
    In Spring, the objects that fORM the backbone of your application and that are managed by the Spring ioc container are called beans. A bean is an object that is instantiated, assembled, and otherwise managed by a Spring IoC container.

    翻译过来就是:
    在 Spring 中,构成应用程序主干并由Spring IoC容器管理的对象称为bean。bean是一个由Spring IoC容器实例化、组装和管理的对象。

    我们总结如下:
    1.bean是对象,一个或者多个不限定
    2.bean由Spring中一个叫IoC的东西管理
    3.我们的应用程序由一个个bean构成

    2 控制反转(IoC)

    控制反转英文全称:Inversion of Control,简称就是IoC。

    控制反转通过依赖注入(DI)方式实现对象之间的松耦合关系。

    程序运行时,依赖对象由【辅助程序】动态生成并注入到被依赖对象中,动态绑定两者的使用关系。

    Spring IoC容器就是这样的辅助程序,它负责对象的生成和依赖的注入,让后在交由我们使用。

    简而言之,就是:IoC就是一个对象定义其依赖关系而不创建它们的过程。

    这里我们可以细分为两个点。

    2.1 私有属性保存依赖

    第1点:使用私有属性保存依赖对象,并且只能通过构造函数参数传入,

    构造函数的参数可以是工厂方法、保存类对象的属性、或者是工厂方法返回值。

    假设我们有一个Computer类:

    public class Computer {    private String cpu;     // CPU型号    private int ram;        // RAM大小,单位GB    public Computer(String cpu, int ram) {        this.cpu = cpu;        this.ram = ram;    }}

    我们有另一个Person类依赖于Computer类,符合IoC的做法是这样:

    public class Person {    private Computer computer;    public Person(Computer computer) {        this.computer = computer;    }}

    不符合IoC的做法如下:

    // 直接在Person里实例化Computer类public class Person {    private Computer computer = new Computer("AMD", 3);}// 通过【非构造函数】传入依赖public class Person {    private Computer computer;        public void init(Computer computer) {        this.computer = computer;    }

    2.2 让Spring控制类构建过程

    第2点:不用new,让Spring控制new过程。

    在Spring中,我们基本不需要 new 一个类,这些都是让 Spring 去做的。

    Spring 启动时会把所需的类实例化成对象,如果需要依赖,则先实例化依赖,然后实例化当前类。

    因为依赖必须通过构建函数传入,所以实例化时,当前类就会接收并保存所有依赖的对象。

    这一步也就是所谓的依赖注入

    2.3 这就是IoC

    在 Spring 中,类的实例化、依赖的实例化、依赖的传入都交由 Spring Bean 容器控制,

    而不是用new方式实例化对象、通过非构造函数方法传入依赖等常规方式。

    实质的控制权已经交由程序管理,而不是程序员管理,所以叫做控制反转。

    3 Bean?

    至于bean,则是几个概念。

    概念1:Bean容器,或称spring ioc容器,主要用来管理对象和依赖,以及依赖的注入。
    概念2:bean是一个Java对象,根据bean规范编写出来的类,并由bean容器生成的对象就是一个bean。
    概念3:bean规范。

    Spring中的bean概念是什么

    bean规范如下:

    所有属性为private
    2.提供默认构造方法
    3.提供getter和setter
    4.实现serializable接口

    关于“Spring中的bean概念是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    --结束END--

    本文标题: Spring中的bean概念是什么

    本文链接: https://lsjlt.com/news/326018.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Spring中的bean概念是什么
      这篇文章将为大家详细讲解有关Spring中的bean概念是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Bean是Spring框架中最核心的两个概念之一(另一个是面向切面编程AOP)。1 定义Spri...
      99+
      2023-06-29
    • Spring中的bean概念介绍
      目录1 定义2 控制反转(IoC)2.1 私有属性保存依赖2.2 让Spring控制类构建过程2.3 这就是IoC3 Bean?Bean是Spring框架中最核心的两个概念之一(另一...
      99+
      2024-04-02
    • Spring中AOP的概念是什么
      这篇文章主要介绍“Spring中AOP的概念是什么”,在日常操作中,相信很多人在Spring中AOP的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring中AOP的概念是什么”的疑惑有所帮助!...
      99+
      2023-07-02
    • Spring Bean的定义概念和使用方法是什么
      本篇内容介绍了“Spring Bean的定义概念和使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!定义Spring b...
      99+
      2023-07-06
    • Spring中Spring Boot与Spring MVC的核心概念是什么
      这篇文章主要介绍了Spring中Spring Boot与Spring MVC的核心概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring中Spring Boot与Sp...
      99+
      2023-06-29
    • Spring AOP的基本概念是什么
      这篇文章主要介绍“Spring AOP的基本概念是什么”,在日常操作中,相信很多人在Spring AOP的基本概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring AOP的基本概念是什么”的疑...
      99+
      2023-06-20
    • Spring AOP基本概念是什么
      本篇内容介绍了“Spring AOP基本概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  什么是AOP  AOP即面向切面编程。 ...
      99+
      2023-06-02
    • Spring Bean中Bean的注册是什么
      这篇文章主要介绍“Spring Bean中Bean的注册是什么”,在日常操作中,相信很多人在Spring Bean中Bean的注册是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spr...
      99+
      2023-06-29
    • Spring框架核心概念是什么
      这篇文章主要为大家展示了“Spring框架核心概念是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring框架核心概念是什么”这篇文章吧。1、Spring是什么简而言之,Spring是企...
      99+
      2023-06-29
    • jquery中$的概念是什么
      这篇文章主要讲解了“jquery中$的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery中$的概念是什么”吧! ...
      99+
      2024-04-02
    • Spring IOC与DI核心概念是什么
      这篇文章主要介绍“Spring IOC与DI核心概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring IOC与DI核心概念是什么”文章能帮助大家解决问题。深入理解...
      99+
      2023-07-05
    • linux中gnu的概念是是什么
      GNU是一种自由和开放源代码的操作系统,其全称为“GNU's Not Unix”。GNU项目由理查德·斯托曼(Richard Sta...
      99+
      2023-09-22
      linux
    • MySQL中锁的概念是什么
      今天就跟大家聊聊有关MySQL中锁的概念是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。乐观锁乐观锁大多是基于数据版本记录机制实现,一般是给数据...
      99+
      2024-04-02
    • mysql中odbc的概念是什么
      今天小编给大家分享一下mysql中odbc的概念是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
      99+
      2024-04-02
    • css3中flexbox的概念是什么
      本文小编为大家详细介绍“css3中flexbox的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“css3中flexbox的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学...
      99+
      2024-04-02
    • node中mongooes的概念是什么
      这篇文章主要介绍“node中mongooes的概念是什么”,在日常操作中,相信很多人在node中mongooes的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”no...
      99+
      2024-04-02
    • JavaScript中ceil的概念是什么
      本篇内容主要讲解“JavaScript中ceil的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中ceil的概念是什么”吧! ...
      99+
      2024-04-02
    • jquery中show的概念是什么
      这篇文章主要介绍了jquery中show的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery中show的概念是什么文章都会有所收获,下面我们一起来看看吧。 ...
      99+
      2024-04-02
    • node中multer的概念是什么
      这篇文章主要介绍“node中multer的概念是什么”,在日常操作中,相信很多人在node中multer的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node中m...
      99+
      2024-04-02
    • jquery中toggle的概念是什么
      本篇内容主要讲解“jquery中toggle的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery中toggle的概念是什么”吧! ...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作