Spring中bean对象的装配方式、作用域及生命周期详解

 更新时间:2023年11月07日 10:44:30   作者:哇哈哈水有点甜  
这篇文章主要介绍了Spring中bean对象的装配方式、作用域及生命周期详解,SprignBoot中 @Bean 完美的替换了了上面的这种在xml中配置的方法,使用以下方法就能让spring在需要自动创建Info对象时,自动调用这个方法,需要的朋友可以参考下

Spring中bean对象的装配方式、作用域及生命周期详解

1. bean对象装配的三种方式

(就是在配置文件中写一个bean标签)

①内部new一个实现类,调用默认构造器

<bean id="userService" class="com.diao.service.UserServiceImpl"></bean>

②通过静态工厂方法

<!--在静态方法中返回一个实例对象,通过调用工厂类的静态方法获取实例对象-->
<bean id="userService" class="com.diao.service.UserServiceFactory" factory-method="返回对象的静态方法"></bean>

③实例工厂方法(非静态方法,需要对象调用)

<!--通过创建工厂类的实例对象,然后调用对象的方法去返回一个对象-->
<bean id="factory" class="com.diao.service.UserServiceFactory"></bean>
<bean id="userService" factory-bean="factory" factory-method="返回对象的方法"></bean>

2.bean对象的作用域

常用的有:

  • singleton:单例(标签中不指定默认是单例的)
  • prototype:多例
  • request:作用于web应用的请求范围
  • session:作用于web应用的会话范围
  • global-session:作用于集群环境的会话范围,不是集群环境时,就是session
<bean id="userService" class="com.diao.service.UserServiceImpl" scope="prototype"></bean>

3.bean对象的生命周期

单例: 出生:当容器创建时对象出生 活着:只要容器还在,对象一直或者 死亡:容器销毁,对象消亡

多例: 出生:当使用对象时spring框架进行创建 活着:对象只要是在使用过程中就一直活着 死亡:当对象长时间不用且没有别的对象引用时,由Java的垃圾回收器进行回收

到此这篇关于Spring中bean对象的装配方式、作用域及生命周期详解的文章就介绍到这了,更多相关bean对象的装配方式、作用域及生命周期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 聊聊java中引用数据类型有哪些

    聊聊java中引用数据类型有哪些

    这篇文章主要介绍了java中引用数据类型有哪些,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • SpringBoot防止大量请求攻击的实现

    SpringBoot防止大量请求攻击的实现

    在有些特定的时候需要加上IP访问时间限制,防止一个IP多次访问请求,本文主要介绍了SpringBoot防止大量请求攻击的实现,感兴趣的可以了解一下
    2021-11-11
  • Java AQS信号量Semaphore的使用

    Java AQS信号量Semaphore的使用

    Semaphore来自于JDK1.5的JUC包,直译过来就是信号量,被作为一种多线程并发控制工具来使用。本文将详解其原理与使用方法,感兴趣的可以学习一下
    2023-02-02
  • Java Web使用Html5 FormData实现多文件上传功能

    Java Web使用Html5 FormData实现多文件上传功能

    这篇文章主要介绍了Java Web使用Html5 FormData实现多文件上传功能,需要的朋友可以参考下
    2017-07-07
  • 详解Java如何使用注解来配置Spring容器

    详解Java如何使用注解来配置Spring容器

    这篇文章我们将介绍如何在Java代码中使用注解来配置Spring容器,文中的示例代码讲解详细,对我们学习有一定参考价值,感兴趣的可以了解一下
    2022-06-06
  • Spring Batch批处理框架操作指南

    Spring Batch批处理框架操作指南

    Spring Batch 是 Spring 提供的一个数据处理框架。企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作,这篇文章主要介绍了Spring Batch批处理框架操作指南,需要的朋友可以参考下
    2022-07-07
  • IDEA提示内存不足 low memory的完美解决方法(亲测好用)

    IDEA提示内存不足 low memory的完美解决方法(亲测好用)

    这篇文章主要介绍了IDEA提示内存不足 low memory的完美解决方法(亲测好用),这里以IDEA2022版本为例,在IDE中 帮助(help)–>change memory setting(改变内存设置),具体设置办法文中给大家详细讲解,需要的朋友可以参考下
    2023-01-01
  • Maven之分析剔除无用的jar引用问题

    Maven之分析剔除无用的jar引用问题

    这篇文章主要介绍了Maven之分析剔除无用的jar引用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Java多线程高并发中的Fork/Join框架机制详解

    Java多线程高并发中的Fork/Join框架机制详解

    本文主要介绍了 Java 多线程高并发中的 Fork/Join 框架的基本原理和其使用的工作窃取算法(work-stealing)、设计方式和部分实现源码,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • Java集合之Map接口与实现类详解

    Java集合之Map接口与实现类详解

    这篇文章主要为大家详细介绍了Java集合中的Map接口与实现类,文中的示例代码讲解详细,对我们学习Java有一定的帮助,感兴趣的可以了解一下
    2022-12-12

最新评论