[Spring5]IOC容器_Bean管理_工厂Bean
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相关推荐
- [Spring5]IOC容器_Bean管理_bean的作用域和bean的生命周期
IOC操作Bean管理(bean作用域) 1.在Spring里面,设置创建bean实例是单实例还是多实例 2.在Spring里面,默认情况下,bean是单实例对象 package com.atguig ...
- [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性
IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...
- [Spring5]IOC容器_Bean管理注解方式_创建对象
IOC操心Bean管理(基于注解方式) 1.什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3) ...
- [Spring5]IOC容器_Bean管理XML方式_外部属性文件
IOC操作Bean管理(外部属性文件) 1.直接配置数据库信息 (1)配置德鲁伊druid连接池 (2)引入德鲁伊druid连接池依赖jar包 <!--直接配置连接池--><bean ...
- [Spring5]IOC容器_Bean管理XML方式_自动装配
IOC操作Bean管理(xml自动装配) package com.atguigu.spring.autowire;public class Dept {@Overridepublic String t ...
- [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性
xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 (1)创建类,定义数组,list,map,set类型属性,生成对应set方法 package com ...
- [Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value
基于注解方式实现属性注入 (1)@AutoWired:根据属性类型进行自动装配 第一步 把service和dao对象创建,在service和dao类添加创建对象注解 第二步 在service注入dao ...
- [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性
xml注入其他属性 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String ...
- [Spring5]IOC容器_Bean管理注解方式_完全注解开发
完全注解开发 (1)创建配置类,替代xml配置文件 package com.atguigu.spring.config;import org.springframework.context.annot ...
最新文章
- java 原子量_Java原子量 - Rickxue的个人空间 - OSCHINA - 中文开源技术交流社区
- ecshop微信扫描支付开发
- windows优化大师怎么用_怎么在电脑上添加一款好用的提醒便签软件?
- python的顶级高手_Python+深度学习
- MelGan原理与实践篇
- 人类认知对设计规律有这些影响
- 解决 ASP.NET Core 自定义错误页面对 Middleware 异常无效的问题
- svn: E200009
- Web渗透测试(sql注入 access,mssql,mysql,oracle,)
- 图解Windows下使用SSH Secure Shell Client远程连接Linux
- 福利 | 抽奖送现金送书《Web前端工程师修炼之道》
- 常见问题及解决方案(前端篇)
- android闹钟实现原理
- php手机端多图预览上传,JS实现多图预览上传的实例代码
- BDD 与DSL 入门
- 现代软件工程系列 学生的精彩文章 (4) 为用户服务
- 河池学院计算机宿舍,河池学院宿舍条件,宿舍环境图片(10篇)
- wamp中为何php文件需要下载,配置WAMP后,浏览器输入默认的php文件名都直接下载该文档...
- dfs根目录_分布式文件系统DFS详细解读
- 昨夜“星城”昨夜“疯”
热门文章
- XunSearch的安装和加入服务器开机脚本以及将目录写入系统变量
- Nginx 基础 ( 二)
- Win11 恢复 Win10经典右键菜单 亲测有效
- 【ArcGIS风暴】ArcGIS生成GlobeLand30土地利用数据集中国区域行列号shp格式对照图(附shp下载)
- linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
- [python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解
- strstr和strcchr查找字符串和区别
- MATLAB软件禁用利好,Matlab被禁用?一款国产软件站了出来说:我就是中国的Matlab...
- java ssh 和mvc_[转]JAVA三大框架SSH和MVC
- mysql与oracle在软件测试_Oracle和MySQL的一些简单命令对比