Spring中存在两种bean:
1.普通bean:就是在xml中定义了bean类型就是返回类型
2.工厂bean:在配置文件定义bean类型可以和返回类型不同

创建工厂bean的步骤:
1.创建类,让这个类实现FactoryBean接口
2.实现接口中的方法

package com.atguigu.Spring5.factorybean;import com.atguigu.Spring5.CollectionType.course;
import org.springframework.beans.factory.FactoryBean;public class mybean implements FactoryBean<course> {@Overridepublic course getObject() throws Exception {course course=new course();course.setCname("abc");return course;}@Overridepublic Class<?> getObjectType() {return null;}@Overridepublic boolean isSingleton() {return false;}
}
<bean class="com.atguigu.Spring5.factorybean.mybean" name="mybean"></bean>
    ApplicationContext context=new ClassPathXmlApplicationContext("bean3.xml");course course = context.getBean("mybean", course.class);System.out.println(course);

Spring两种bean相关推荐

  1. 事务管理--(Spring两种方式)

    一.什么是事务? 事务是由步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行 二.事务的特性(ACID) 1. 原子性 事务是一个不可分割的最小工作单位,事务中的操作要么都发 ...

  2. Spring 三种bean装配的方式

    1.使用xml配置文件装配 Spring成功启动的三大要件分别是:Bean定义信息.Bean实现类以及Spring本身. 在xml文件中配置bean,然后使用ClassPathXmlApplicati ...

  3. Spring的两种代理方式:JDK动态代理和CGLIB动态代理

    代理模式 代理模式的英文叫做Proxy或Surrogate,中文都可译为"代理",所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动.在一些情况下,一个客户不想或者 ...

  4. Spring 初始化与 Bean 初始化

    目录 1.Spring 容器初始化 2.Spring Bean 初始化 2.1 BeanFactory 和 FactoryBean 2.2 Bean 的实例化 Spring生命周期Bean初始化过程详 ...

  5. Spring生命周期Bean初始化过程详解

    Spring生命周期Bean初始化过程详解 Spring 容器初始化 Spring Bean初始化 BeanFactory和FactoryBean 源码分析 Bean的实例化 preInstantia ...

  6. spring 注入bean的两种方式

    我们都知道,使用spring框架时,不用再使用new来实例化对象了,直接可以通过spring容器来注入即可. 而注入bean有两种方式: 一种是通过XML来配置的,分别有属性注入.构造函数注入和工厂方 ...

  7. Spring定义Bean的两种方式:<bean>和@Bean

    前言: Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用. 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean. 今天通过S ...

  8. Spring加载properties文件的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...

  9. Spring Boot自定义 Servlet Filter 的两种方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 针 ...

最新文章

  1. 树莓派安装docker
  2. 科大讯飞年报出炉,2018每天赚148万元,53%是政府补助
  3. svpwm矢量控制电机相电压波形_【顺藤摸瓜】永磁同步为什么要用SVPWM控制
  4. 数据结构与算法专题——第十二题 Trie树
  5. 文件的复制、移动、压缩等对SELinux属性关系详解
  6. shell脚本特殊变量与变量子串相关知识
  7. ASCII码与10进制、16进制转换对照表
  8. 手机qq旋风.android,QQ旋风安卓版2020,QQ旋风手机版安卓版2020最新版本预约 v1.0 - 浏览器家园...
  9. 威信游戏小程序源码-合成大西瓜小游戏(合成版)源码 附带流量主功能
  10. 怎样用html制作歌词字幕,pr歌词字幕制作方法
  11. 北京中国科学院计算机专业怎么样,中国科学院北京计算技术研究所计算机技术怎么样...
  12. java int的取值范围为什么负数比正数多1
  13. 哪个一键重装电脑系统工具好用些?
  14. Leetcode动态规划部分典型题目分类及总结
  15. 什么是安时数(AH)
  16. NBA常规赛总三分排行榜(数据截止至11年4月14日)
  17. 通俗易懂的磁盘分区教程,图文并茂简单明了!
  18. 体验TiDB V6.0.0 之Clinic
  19. 过云锁php木马,绕过waf的另类木马文件攻击方法
  20. 第七篇 亚龙236 led 16*32点阵显示显示汉字

热门文章

  1. Linux如何去设置TC参数
  2. CSDN --- 现实中的女程序媛
  3. 十大蓝牙耳机品牌有哪些?2021蓝牙耳机排行榜10强!
  4. Vue_router
  5. flume大数据框架数据采集系统
  6. 用Visio绘制网络模型的斜立方体、方块
  7. java 浏览器证书_Java拒绝浏览器接受的证书
  8. Java线程中sleep()、wait()和notify()、suspend()和resume()、yield()、join()、interupt()的用法和区别
  9. Mysql运算符记忆打字练习
  10. 《设计模式与游戏完美开发》——第六周读书笔记