Java中Class、Object和Spring中Bean、BeanFactory的基础概念

Java语言中,对象(Object)是类(Class)的实例。Bean、BeanFactory是Spring提出的概念。

Java

Java是面向对象语言。

  • 类(Class)
    类是对同一类事物的属性和行为的高度模拟。类可以解释为:种类、类型。
    在自然界中,物以类聚,比如鸟类、人类、汽车类、花草类等等。同一个事物从不同的维度又可以划分到不同的种类里,比如鸟类和人类都可以划分成动物类, 同一个种类还可以继续划分成跟细致的种类,比如人类还可进一步划分成男生和女生。

    自然界的规律就是一个熵不断增大的过程,找出自然界的规律然后通过人类的干预将熵减小(或者控制熵变化),从而达到让机器去完成任务的目的。人类将宇宙中的事物分门别类是人类了解、认识世界,改善生活的手段。而计算机的出现就是为了让人从繁重的体力劳动(AI将来可能将人类从脑力劳动中)中解放出来。在面向对象的编程语言中,让程序去抽象、模拟实际的问题中的实体——抽象成类,然后找出实体在实际中承担的功能、职责——这些类应该具备什么样的方法,从而达到解决问题的目的。

  • 对象(Object)
    对象是类的实例。对象(Object)就是通过类(Class)这个模型去构造出来的一个真真实实的东东。既然是用程序去模拟真实的世界,所以在程序中,用人类的模型去构造一个具体的人完全是必然的。所以特定的对象就是为了完成这个对象在他生命中的任务。你可以在程序中构造成百上千的人去完成一件事情。

  • JavaBean
    JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。
    ——摘自百度百科

Spring

  • Bean

官方文档(https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-definition)中的解释:
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. Otherwise, a bean is simply one of many objects in your application. Beans, and the dependencies among them, are reflected in the configuration metadata used by a container.
在Spring中,构成应用程序的骨架并由Spring IoC容器管理的对象(对Java语言来说就是文章前面说的Java对象)称为Bean。 Bean是由Spring IoC容器实例化,组装和以其他方式管理的对象。 否则,Bean仅仅是应用程序中众多对象中的一个(不用IOC容器来管理的话,Bean的生命周期以及Bean与Bean之间的关系无法集中统一管理)。 Bean及Bean之间的依赖关系反映在容器使用的配置元数据中。

Bean和Java中Object其实本质是一个东东。

  • BeanFactory

文档中有描述:
The BeanFactory interface provides an advanced configuration mechanism capable of managing any type of object. ApplicationContext is a sub-interface of BeanFactory.
BeanFactory接口提供了一种高级配置机制,能够管理任何类型的对象。 ApplicationContext是BeanFactory的子接口。

org.springframework.beans.factory.BeanFactory 从代码上看是Spring中的一个接口(Interface)。

BeanFactory管理任何类型的对象。具体一点就是解析读取Bean的定义、逐步初始化Bean、构造Bean放入IOC容器、销毁Bean。BeanFactory管理了整个Bean的生命周期。

你可能感兴趣的:(spring,java基础)