当前位置: 首页 > news >正文

博尔塔拉州大型网站建设wordpress情侣博客

博尔塔拉州大型网站建设,wordpress情侣博客,win10虚拟机做网站,notepad wordpress文章目录 1.前言2.IOC容器2.1 BeanFactory 容器2.2 ApplicationContext 容器 3.Bean的常用属性配置4. 总结 1.前言 在之前的文章-IOC的快速入门中讲过Bean这个概念. 本来就来介绍容器与Bean的常用属性配置 在Spring框架中,Bean指的是被Spring加载生成出来的对象。 …

文章目录

  • 1.前言
  • 2.IOC容器
    • 2.1 BeanFactory 容器
    • 2.2 ApplicationContext 容器
  • 3.Bean的常用属性配置
  • 4. 总结

1.前言

在之前的文章-IOC的快速入门中讲过Bean这个概念. 本来就来介绍容器与Bean的常用属性配置

在Spring框架中,Bean指的是被Spring加载生成出来的对象。

Spring容器是Spring框架的核心,它的基本功能就是管理对象。

2.IOC容器

Spring容器是Spring框架的核心,它的基本功能就是管理对象。这个管理的过程贯穿了对象的整个生命周期,包括对象的创建、装配和销毁。从更具体的角度去理解,Spring容器像一个大仓库,负责存储和管理Bean对象。这些Bean对象在Spring容器中被创建,并且通过依赖注入等方式关联起来,形成一个完整的解决方案。

除了管理Bean对象之外,Spring容器还负责处理Bean之间的依赖关系。当一个Bean需要另一个Bean的协助时,Spring容器会将所需的Bean注入到当前Bean中,使得各个Bean能够顺利地协作完成工作。

Spring提供的容器主要有两个:

  1. BeanFactory 容器
  2. ApplicationContext 容器

2.1 BeanFactory 容器

BeanFactory是为 DI 提供基本支持的最简单的容器, 最常用的 BeanFactory 实现是 XmlBeanFactory 类。 此容器从 XML 文件中读取配置元数据,并使用它来创建完全配置的系统或应用程序。
在资源有限的情况下,如移动设备或基于小程序的应用程序,BeanFactory 通常是首选。

2.2 ApplicationContext 容器

Application Context 应用程序上下文是 Spring 的高级容器。 与 BeanFactory 类似,它可以加载 bean 定义、将 bean 连接在一起并根据请求分发 bean。 此外,它还添加了更多特定于企业的功能,例如从属性文件解析文本消息的能力以及将应用程序事件发布到感兴趣的事件侦听器的能力。

ApplicationContext是BeanFactory的子接口。ApplicationContext 包含了 BeanFactory 的所有功能,一般推荐使用它而不是 BeanFactory。

最常用的 ApplicationContext 实现是:

  • FileSystemXmlApplicationContext − 这个容器从一个 XML 文件中加载 bean 的定义。 这里需要将 XML bean 配置文件的完整路径提供给构造函数。

  • ClassPathXmlApplicationContext − 这个容器从一个 XML 文件中加载 bean 的定义。 这里您不需要提供 XML 文件的完整路径,但您需要正确设置 CLASSPATH,因为此容器看起来像 CLASSPATH 中的 bean 配置 XML 文件。

  • WebXmlApplicationContext − 此容器从 Web 应用程序中加载包含所有 bean 定义的 XML 文件。

3.Bean的常用属性配置

Bean是Spring框架在运行时管理的对象,也是任何Spring应用程序的基本构建块。其加载、作用域、生命周期的管理都由Spring操作。这意味着,当我们需要使用某个对象时,无需自己手动创建和管理该对象,而是交由Spring容器来完成这些工作

属性描述
class该属性是必需的,它指定了用于创建 bean 的 bean 类。
id此属性唯一地指定 bean 标识符。 在基于 XML 的配置元数据中,您使用 id 和/或 name 属性来指定 bean 标识符。
scope此属性指定从特定 bean 定义创建的对象的范围
constructor-arg用于注入依赖关系
properties用于注入依赖关系
autowiring mode用于注入依赖关系
lazy-initialization mode延迟初始化的 bean 告诉 IoC 容器在第一次被请求时创建一个 bean 实例,而不是在启动时
initialization method在容器设置了 bean 上的所有必要属性之后调用的回调。
destruction method当包含 bean 的容器被销毁时要使用的回调

Bean标签的属性有很多.并不是所有的属性都很重要,本文主要讲class,id和scope这三个属性

class: 该属性是必需的,它指定了用于创建 bean 的 bean 类。

在这里插入图片描述
⭐需要注意的是class的值是全类名,要把前面的包带上

id: 此属性唯一地指定 bean 标识符。 在基于 XML 的配置元数据中,您使用 id 和/或 name 属性来指定 bean 标识符。

获取Bean对象时,就是依靠id来进行区分的
在这里插入图片描述
在这里插入图片描述

scope: 此属性指定从特定 bean 定义创建的对象的范围

scope有两个属性值:

  • singleton(默认值): 代表单例
  • prototype: 代表多例

如果设置为singleton则一个容器中只会有这个一个bean对象。默认容器创建的时候就会创建该对象.
如果设置为prototype则一个容器中会有多个该bean对象。每次调用getBean方法获取时都会创建一个新对象

接下来可以验证一下scope的两个属性:
Student类:

public class Student {private int age;private String name;public Student() {System.out.println("创建了一次对象");}

在配置文件中设置Bean标签的scope属性值

    <bean class="com.exaple.entity.Student" name="student" scope="singleton"></bean>

在Main方法中对上面的id获取两次对象,输出结果中可以看到 Student类的构造方法只执行了一次
在这里插入图片描述

其它不变,更该Bean标签的scope属性值为prototype

    <bean class="com.exaple.entity.Student" name="student" scope="prototype"></bean>

在这里插入图片描述
可以看到Student类的构造方法执行了两次.

4. 总结

IOC容器有两个:BeanFactory 容器和ApplicationContext 容器. 推荐使用ApplicationContext.ApplicationContext 包含了 BeanFactory 的所有功能.
Bean最主要的三个属性(class,id和scope)中class属性是必须的,id是唯一标识符,通过id/name来指定,scope是设置Bean的单例/多例

http://www.sczhlp.com/news/72198/

相关文章:

  • 广州站店面设计用什么软件
  • 网站优化包括wordpress添加右侧菜单
  • 万江网站制作南京seo排名公司
  • 永州企业网站建设价格在iis里面创建网站
  • 山东建设机械协会官方网站网站百度提示风险
  • 合肥营销网站建设网页设计模板网站
  • 企业注册号云南搜索引擎优化
  • 工信部网站信息查询网站开发的调研内容
  • 计算从10个男生和12个女生中选出一个3人小组,且小组中至少包含1个女生的组合数。
  • 天河区建设网站机房网络组建方案
  • 网站模版源代码一家专门做特卖的网站手机版
  • 免费做网站wxp114泰安网站建设最好
  • 贵阳网站开发工程师招聘网空间有了怎么做网站
  • 营销型网站架构东光县建设局网站
  • 借用备案网站跳转做淘宝客wordpress托管服务
  • 网站建设的主流架构有哪些零售户电商网站订货网址
  • 网站开发预算多少访问 wordpress
  • 福州贸易公司网站制作徐州免费建站模板
  • 适合夫妻看的哔哩哔哩电视剧长沙企业seo优化
  • 合肥网站建设的公司哪家好贵阳网站开发公司
  • 门户网站有哪些类型搭建微信小程序需要什么
  • 东莞做网站电话wordpress前端页面存放
  • 书本翻页 网站模板有做网站的公司吗
  • laravel-5.4-序列化导致rce
  • P10912 [蓝桥杯 2024 国 B] 数星星
  • P12621 [ICPC 2025 NAC] Circle of Leaf
  • CF627题解
  • 手机怎么防止网站自动跳转四川省住建厅特种作业证报名
  • 中企动力做的网站怎么登陆开发公司 网站建设
  • 做网站空间免费手机网站空间