关于Spring Bean容器的理解

这篇具有很好参考价值的文章主要介绍了关于Spring Bean容器的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Bean 对象

Spring Bean 是Spring框架中的一个核心概念。在Spring框架中,Bean是指那些组成应用程序的对象,它们由Spring IoC容器实例化、组装和管理。Bean是一个被实例化、组装和由Spring IoC容器所管理的对象。

Spring Bean 容器

Spring Bean容器是Spring框架的核心部分,负责管理应用程序中的Bean。它是一个强大的工厂(或容器),负责初始化、配置和组装Bean。容器通过读取配置元数据(例如XML、注解或Java配置)来了解应用中的对象及其相互依赖关系。

spring对于bean实例化的管理
  • 默认情况下调用类的无参构造方法进行
  • 通过普通工厂进行对象的实例化
  • 通过静态工厂进行对象的实例化
spring对于bean的作用域

含义:bean在spring容器中创建的策略以及访问的范围(Spring定义了多种作用域(如单例、原型等),决定了Bean的生命周期和可见性)

编写位置:bean标签属性位置

编写语法:scope=""

属性值

singleton========>单例模式====全局唯一====性能好====安全性低(默认方式)


prototype========>多例模式====全局不唯一====性能不好====安全性高

spring对于bean的生命周期管理

实例化=====>容器创建的时候实例化


初始化=====>实例化完成,则自动初始化   nitializingBean类中的afterPropertiesSet  init-method属性绑定方法


使用操作


销毁======>容器关闭,所以的bean则自动销毁,销毁前会执行destroy-method=""方法,完成资源回收

spring管理bean的自动装配

手动注入:

<property name="service" ref="serviceImp"></property>

<constructor-arg></constructor-arg>

含义:将对象用DI的编程思想,自动注入给调用者

编写位置:bean与beans标签的属性

编写语法

autowire=" " ============> 局部设置


default-autowire=" " ====> 全局设置

编写属性

byType==========>按照类型自动装配 属性类型与bean的class一致(通过set注入实现)


byName==========>按照id属性自动装配 属性名称与bean的id一致(通过set注入实现)


constructor==========>按照类型自动装配 属性类型与bean的class一致(通过构造方法注入实现)


no==========>默认设置,无自动装配

编写注意文章来源地址https://www.toymoban.com/news/detail-793723.html

  1. 按照类型装配,避免容器中有相同类型
  2. 按照名字装配,要保证需要的对象名在spring容器中有对应的id
  3. 可以同时进行全局与局部设置,就近原则
  4. 自动装配能简化代码配置,但是在大型项目中不推荐使用,可读性差

到了这里,关于关于Spring Bean容器的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot mybatis plus mapper如何自动注册到spring bean容器

    ##@Import(AutoConfiguredMapperScannerRegistrar.class) ##注册MapperScannerConfigurer ##MapperScannerConfigurer.postProcessBeanDefinitionRegistry方法扫描注册mapper ##找到mapper候选者 ##过滤mapper 类 候选者 ##BeanDefinitionHolder注册到spring 容器

    2024年01月17日
    浏览(48)
  • 将Bean注入Spring容器的五种方式

    将bean放入Spring容器中有哪些方式? 我们知道平时在开发中使用Spring的时候,都是将对象交由Spring去管理,那么将一个对象加入到Spring容器中,有哪些方式呢,下面我就来总结一下 这种方式其实也是我们最常用的一种方式,@Configuration用来声明一个配置类,然后使用 @Bean 注解

    2024年02月05日
    浏览(36)
  • 通俗易懂,Spring Bean生命周期管理的理解

    目录 1、实例化阶段 2、初始化阶段 3、销毁阶段 总结 在Spring框架中, Bean是最基本的组件,它是Spring框架中的一个Java对象 。 下面通过@Bean来理解bean的生命周期: 在Spring框架中,@Bean注解用于告诉Spring框架一个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的

    2024年02月21日
    浏览(37)
  • 深入理解Spring Bean生命周期及其管理机制

    Spring Framework是一种强大的Java开发框架,其中的Bean是Spring管理的对象实例。在Spring Framework中,Bean的生命周期是指Bean实例创建、初始化、使用和销毁等阶段。Spring Framework提供了一套完整的机制来管理Bean的生命周期,包括初始化和销毁方法的回调,以及Bean实例的自动装配等。

    2024年02月02日
    浏览(39)
  • 使用@Configuration和@Bean给spring容器中注入组件

    以前我们是使用配置文件来注册bean的,现如今可以用@Configuration 来代替配置文件。

    2024年02月11日
    浏览(40)
  • Spring的加载配置文件、容器和获取bean的方式

    🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 properties文件: jdbc.properties 1.开启context命名空间 2.使用context命名空间,加载指定properties文件 3.使用属性占位符 ${} 读取properties文件中的属性 properties文件

    2024年02月15日
    浏览(36)
  • Spring容器获取Bean的9种方式 | 京东云技术团队

    随着SpringBoot的普及,Spring的使用也越来越广,在某些场景下,我们无法通过注解或配置的形式直接获取到某个Bean。比如,在某一些工具类、设计模式实现中需要使用到Spring容器管理的Bean,此时就需要直接获取到对应的Bean。 本文为大家整理汇总了常见的获取Bean的方式,并提

    2024年02月12日
    浏览(39)
  • 4.是人就能学会的Spring源码教程-IOC容器创建Bean对象

    我们要关注一个接口 BeanFactory ,它是Spring IOC容器的根接口,也是容器的入口。 类的描述中已经清楚的说明了: 我们来看一下这个接口里面的方法。 我们可以看到有各种各样的 getBean 方法,让我们可以从容器中获取到各种各样的Bean对象。 BeanFactory 有一个实现类 DefaultListab

    2024年02月05日
    浏览(40)
  • 你担心spring容器中scope为prototype的bean太大内存溢出吗?

    之前一直担心spring的scope为prototype的bean在一些高并发的场景下,吃不消吗,甚至会内存溢出,这样的担心不是没有道理的,(以下是假设)因为这个类型的bean每一次都会产生新的实例,如果每个实例做一些时间比较长的任务,然后它会在这段时间常驻内存。那么它会爆炸吗?

    2024年02月06日
    浏览(40)
  • 73.是否可以把我们所需的Bean都放入Spring­mvc子容器里面来管理(springmvc的spring-servlet.xml中配置全局扫描)?

    可以 , 因为父容器的体现无非是为了获取子容器不包含的bean, 如果全部包含在子容器完全用不到父容器了, 所以是可以全部放在springmvc子容器来管理的。 虽然可以这么做不过一般应该是不推荐这么去做的,一般人也不会这么干的。如果你的项目里有用到事物、或者aop记得也

    2024年02月21日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包