IOC操作Bean管理(FactoryBean)

1.Spring有两种类型bean,一种普通bean,另外一种工厂bean(FactoryBean)

2.普通bean:在配置文件中定义bean类型就是返回类型

3.工厂bean:在配置文件定义bean类型可以和返回类型不一样

第一步 创建类,让这个类作为工厂bean,实现接口FactoryBean

第二步 实现接口里面的方法,在实现的方法中定义返回的bean类型

package com.atguigu.spring.collectiontype;public class Course {private String cname;public void setCname(String cname) {this.cname = cname;}
}
package com.atguigu.spring.factoryBean;import com.atguigu.spring.collectiontype.Course;
import org.springframework.beans.factory.FactoryBean;public class MyBean implements FactoryBean<Course> {//定义返回bean@Overridepublic Course getObject() throws Exception {Course course = new Course();course.setCname("abc");return course;}@Overridepublic Class<?> getObjectType() {return null;}@Overridepublic boolean isSingleton() {return false;}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id = "myBean" class = "com.atguigu.spring.factoryBean.MyBean"></bean></beans>

测试:

package com.atguigu.spring.test;import com.atguigu.spring.collectiontype.Book;
import com.atguigu.spring.collectiontype.Course;
import com.atguigu.spring.factoryBean.MyBean;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class testBook {@Testpublic void testCollection2(){ApplicationContext context = new ClassPathXmlApplicationContext("bean3.xml");Course myBean = context.getBean("myBean", Course.class);System.out.println(myBean);}}

[Spring5]IOC容器_Bean管理_工厂Bean相关推荐

  1. [Spring5]IOC容器_Bean管理_bean的作用域和bean的生命周期

    IOC操作Bean管理(bean作用域) 1.在Spring里面,设置创建bean实例是单实例还是多实例 2.在Spring里面,默认情况下,bean是单实例对象 package com.atguig ...

  2. [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性

    IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...

  3. [Spring5]IOC容器_Bean管理注解方式_创建对象

    IOC操心Bean管理(基于注解方式) 1.什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3) ...

  4. [Spring5]IOC容器_Bean管理XML方式_外部属性文件

    IOC操作Bean管理(外部属性文件) 1.直接配置数据库信息 (1)配置德鲁伊druid连接池 (2)引入德鲁伊druid连接池依赖jar包 <!--直接配置连接池--><bean ...

  5. [Spring5]IOC容器_Bean管理XML方式_自动装配

    IOC操作Bean管理(xml自动装配) package com.atguigu.spring.autowire;public class Dept {@Overridepublic String t ...

  6. [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性

    xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 (1)创建类,定义数组,list,map,set类型属性,生成对应set方法 package com ...

  7. [Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value

    基于注解方式实现属性注入 (1)@AutoWired:根据属性类型进行自动装配 第一步 把service和dao对象创建,在service和dao类添加创建对象注解 第二步 在service注入dao ...

  8. [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性

    xml注入其他属性 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String ...

  9. [Spring5]IOC容器_Bean管理注解方式_完全注解开发

    完全注解开发 (1)创建配置类,替代xml配置文件 package com.atguigu.spring.config;import org.springframework.context.annot ...

最新文章

  1. java 原子量_Java原子量 - Rickxue的个人空间 - OSCHINA - 中文开源技术交流社区
  2. ecshop微信扫描支付开发
  3. windows优化大师怎么用_怎么在电脑上添加一款好用的提醒便签软件?
  4. python的顶级高手_Python+深度学习
  5. MelGan原理与实践篇
  6. 人类认知对设计规律有这些影响
  7. 解决 ASP.NET Core 自定义错误页面对 Middleware 异常无效的问题
  8. svn: E200009
  9. Web渗透测试(sql注入 access,mssql,mysql,oracle,)
  10. 图解Windows下使用SSH Secure Shell Client远程连接Linux
  11. 福利 | 抽奖送现金送书《Web前端工程师修炼之道》
  12. 常见问题及解决方案(前端篇)
  13. android闹钟实现原理
  14. php手机端多图预览上传,JS实现多图预览上传的实例代码
  15. BDD 与DSL 入门
  16. 现代软件工程系列 学生的精彩文章 (4) 为用户服务
  17. 河池学院计算机宿舍,河池学院宿舍条件,宿舍环境图片(10篇)
  18. wamp中为何php文件需要下载,配置WAMP后,浏览器输入默认的php文件名都直接下载该文档...
  19. dfs根目录_分布式文件系统DFS详细解读
  20. 昨夜“星城”昨夜“疯”

热门文章

  1. XunSearch的安装和加入服务器开机脚本以及将目录写入系统变量
  2. Nginx 基础 ( 二)
  3. Win11 恢复 Win10经典右键菜单 亲测有效
  4. 【ArcGIS风暴】ArcGIS生成GlobeLand30土地利用数据集中国区域行列号shp格式对照图(附shp下载)
  5. linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
  6. [python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解
  7. strstr和strcchr查找字符串和区别
  8. MATLAB软件禁用利好,Matlab被禁用?一款国产软件站了出来说:我就是中国的Matlab...
  9. java ssh 和mvc_[转]JAVA三大框架SSH和MVC
  10. mysql与oracle在软件测试_Oracle和MySQL的一些简单命令对比