1、bean 标签

作用:
用于配置对象让 spring 来创建的。
默认情况下它调用的是类中的无参构造函数。如果没有无参构造函数则不能创建成功。
属性:
id:给对象在容器中提供一个唯一标识。用于获取对象。
class:指定类的全限定类名。用于反射创建对象。默认情况下调用无参构造函数。
scope:指定对象的作用范围。
* singleton :默认值,单例的.
* prototype :多例的.
* request :WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中.
* session :WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中.
* global session :WEB 项目中,应用在 Portlet 环境.如果没有 Portlet 环境那么globalSession 相当于 session.
init-method:指定类中的初始化方法名称。
destroy-method:指定类中销毁方法名称。

2、 bean 的作用范围和生命周期

3、实例化 Bean 的三种方式

  1. 第一种方式:使用默认无参构造函数
<!--在默认情况下:
它会根据默认无参构造函数来创建类对象。如果 bean 中没有默认无参构造函数,将会创建失败。-->
<bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"/>
  1. 第二种方式:spring 管理静态工厂-使用静态工厂的方法创建对象
/**
* 模拟一个静态工厂,创建业务层实现类
*/
public class StaticFactory {public static IAccountService createAccountService(){return new AccountServiceImpl();}
}
<!-- 此种方式是:
使用 StaticFactory 类中的静态方法 createAccountService 创建对象,并存入 spring 容器
id 属性:指定 bean 的 id,用于从容器中获取
class 属性:指定静态工厂的全限定类名
factory-method 属性:指定生产对象的静态方法
--> <bean id="accountService"class="com.itheima.factory.StaticFactory"factory-method="createAccountService"></bean>
  1. 第三种方式:spring 管理实例工厂-使用实例工厂的方法创建对象
/**
* 模拟一个实例工厂,创建业务层实现类
* 此工厂创建对象,必须现有工厂实例对象,再调用方法
*/
public class InstanceFactory {public IAccountService createAccountService(){return new AccountServiceImpl();}
}
<!-- 此种方式是:
先把工厂的创建交给 spring 来管理。
然后在使用工厂的 bean 来调用里面的方法
factory-bean 属性:用于指定实例工厂 bean 的 id。
factory-method 属性:用于指定实例工厂中创建对象的方法。
--><bean id="instancFactory" class="com.itheima.factory.InstanceFactory"></bean> <bean id="accountService"factory-bean="instancFactory"factory-method="createAccountService"></bean>

Spring IOC中bean标签和管理对象细节相关推荐

  1. Spring IOC原理 Bean标签解析和Definition封装

    以下源码版本是 Spring 5.2.x IOC Inversion of Control 控制反转,关键实现是DI Dependency Injection,就必然涉及到有一个容器保存系统中所有托管 ...

  2. Spring配置文件中bean标签的scope属性

    转自:https://fj-sh-chz.iteye.com/blog/1775149 singleton  (默认属性) Spring将Bean放入Spring IOC容器的缓存池中,并将Bean引 ...

  3. ​Spring IOC中 Bean 作用域

    ​Spring Bean 作用域 Spring 3 中为Bean定义了5种作用域,它们是:singleton(单例).prototype(原型).request.session 和 global se ...

  4. Spring中bean标签的属性和值:

    Spring中bean标签的属性和值: <bean name="user" class="com.pojo.User" init-method=" ...

  5. Spring IOC中的Bean对象

    Spring IOC中的Bean对象 (一)Bean是什么 突然发现提到了好多次Bean,居然忘记了讲Bean是什么.没事,现在讲也不晚.Java中的Bean是一种规范,是一种特殊的java类.所以我 ...

  6. IoC基础篇(一)--- Spring容器中Bean的生命周期

    IoC基础篇(一)--- Spring容器中Bean的生命周期 日出日落,春去秋来,花随流水,北雁南飞,世间万物皆有生死轮回.从调用XML中的Bean配置信息,到应用到具体实例中,再到销毁,Bean也 ...

  7. Spring IOC容器-Bean管理——基于XML方式

    Spring IOC容器-Bean管理--基于XML(续集) 1.IOC 操作 Bean 管理(FactoryBean) ​ 1).Spring 有两种类型 bean,一种普通 bean,另外一种工厂 ...

  8. Spring IOC之Bean初始化篇

    Spring Bean初始化简介 Spring IOC 是Spirng反向控制应用程序需要的资源,说白了就是类的实例化(new)操作交由Spring来进行管理.在Spring中创建的实例化对象我们称之 ...

  9. 【面试题】Spring框架中Bean的生命周期

    生命周期 1.实例化一个Bean--也就是我们常说的new一个对象: 2.按照Spring上下文对实例化的Bean进行配置--也就是IOC注入: 3.如果这个Bean已经实现了BeanNameAwar ...

  10. 再见面试官:你能说说 Spring 框架中 Bean 的生命周期吗?

    首先简单说一下(以下为一个回答的参考模板) 1.实例化一个Bean--也就是我们常说的new: 2.按照Spring上下文对实例化的Bean进行配置--也就是IOC注入: 3.如果这个Bean已经实现 ...

最新文章

  1. linux刷新指定URL脚本,【图片】linux下crontab定时执行本地脚本和定时访问指定url【不要牧师吧】_百度贴吧...
  2. java线程和操作系统线程的区别,赶紧收藏备战金三银四!
  3. luogu 3806
  4. mac下载安装本地mongodb
  5. matlab实现单纯型法解线性规划_【运筹学教程】求解线性规划问题的单纯形法
  6. Go语言与数据库开发:01-09
  7. 控制`Actor`朝向,运动 Learn Unreal Engine (with C++)
  8. java adminlte 使用_AdminLTE2管理后台自定义
  9. 利用ssh-copy-id无需密码登录远程服务器
  10. matlab实现参数方程求导(paradiff函数)
  11. 阴阳师服务器维护2月20,《阴阳师》手游2月20日维护更新公告
  12. DuckDuckGo 的盈利模式
  13. 发烧级蓝牙耳机哪款音质最好?200元内性价比高的蓝牙耳机
  14. 【vscode】常用快捷键
  15. unity调用windows画图打印图片
  16. linux文件目录基本操作实验结论,实验 Linux文件和目录操作
  17. Chris Guillebeau: 做什么由自己决定 - 人物志第17篇
  18. [机缘参悟-29]:鬼谷子-内揵篇-与上司交往的五种层次
  19. 2021年中国私营工业企业数量及经营情况分析[图]
  20. 【无线通信】无线通信系统结构演进(1)

热门文章

  1. UITransitionView and UILayoutContainerView
  2. 用户账户、共享和NTFS权限
  3. BW Delta (增量)更新方法 .
  4. 11.卷1(套接字联网API)---名字与地址转换
  5. 54.购物流程(1)---simple product
  6. magento xml配置详解(2)
  7. ElectronNetTest
  8. 《写给大家看的面向对象编程书》读书介绍
  9. Android---------------ContentProvider的学习
  10. 操作系统,语言分类,变量