BeanDefinition使用方式
一、直接将对象注册成Bean,主要有以下几步:
- 通过BeanDefinition,来定义Bean(对象本身)
- 将BeanDefinition注册到容器
public class Student {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;} }
public static void main(String[] args) {AnnotationConfigApplicationContext applicationContext=new AnnotationConfigApplicationContext();//定义beanAbstractBeanDefinition beanDefinition= BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();beanDefinition.setBeanClass(Student.class);//注册beanapplicationContext.registerBeanDefinition("s",beanDefinition);applicationContext.refresh(); //必须要刷新Student student= applicationContext.getBean("s",Student.class);System.out.println(student); }
2.通过FactoryBean来注册Bean,主要分为以下几步:
- 实现FactoryBean
- 通过BeanDefinition来定义Bean(上步的对象)
- 注册到容器
public class StudentFactoryBean implements FactoryBean {@Overridepublic Object getObject() throws Exception {return new Student();}@Overridepublic Class<?> getObjectType() {return Student.class;}
}
public static void main(String[] args) {AnnotationConfigApplicationContext applicationContext=new AnnotationConfigApplicationContext();//定义beanAbstractBeanDefinition beanDefinition= BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();beanDefinition.setBeanClass(StudentFactoryBean.class);//注册beanapplicationContext.registerBeanDefinition("s",beanDefinition);applicationContext.refresh(); //必须要刷新Student student= applicationContext.getBean("s",Student.class);System.out.println(student);}
BeanDefinition使用方式相关推荐
- spring源码系列一--BeanDefinition
如果说java是由对象组成,那么spring-framework框架可以说是由BeanDefinition所构成.BeanDefinitiion其实是spring中的顶级接口,我们在阅读源码之前必须要 ...
- 3W 字的 Spring Boot 超详细总结
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者|CHEN川 http://www.jianshu.c ...
- 最棒 Spring Boot 干货总结(超详细,建议收藏)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:CHEN川 链接:http://www.jianshu.co ...
- [Spring 深度解析]第6章 Spring的IoC容器系列
6. Spring的IoC容器系列 IoC容器为开发者管理对象之间的依赖关系提供了很多便利和基础服务.有许多IoC容器供开发者选择,SpringFramework的IoC核心就是其中一个,它是开源 ...
- Spring Boot全面总结(超详细,建议收藏)
前言:本文非常长,建议先mark后看,也许是最后一次写这么长的文章 说明:前面有4个小节关于Spring的基础知识 分别是:IOC容器.JavaConfig.事件监听.SpringFactoriesL ...
- 给你一份长长长的 Spring Boot 知识清单(上)
预警:本文非常长,建议先mark后看,也许是最后一次写这么长的文章 说明:前面有4个小节关于Spring的基础知识,分别是:IOC容器.JavaConfig.事件监听.SpringFactoriesL ...
- springboot中接口实例化_疫情爆发在家闲出屁的我,梳理一下SpringBoot知识点
在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架.或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用.因而Spring Boot应用本质上就是一个基于Sp ...
- Spring源码(1)
准备spring环境: @org.junit.Test public void test01(){//把spring所有环境准备好// 1.准备好DefaultListableBeanFactory/ ...
- 超详细 Spring Boot 知识清单
2019独角兽企业重金招聘Python工程师标准>>> 超详细 Spring Boot 知识清单 在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架.或许 ...
最新文章
- python 函数递归一次增加一次变量_python3--函数(函数,全局变量和局部变量,递归函数)...
- 关于struts2如何去掉默认的后缀(.action)
- Oracle中,使 CREATE TABLE AS SELECT 支持ORDER BY
- 新制造 新工科 新机制——李泽湘教授在工程教育高峰论坛上的报告
- Vue——显示微信用户名称中enjoin表情
- 性能调优工具类TimeStone
- SSISDB6:参数和环境变量
- 扩展系统功能——装饰模式
- Java锁的种类以及辨析
- 高并发下的系统设计(偏数据库设计)
- Linux 符号链接与 inode
- IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件
- bzoj 4001: [TJOI2015]概率论(找规律)
- html 显示接口数据格式化,科技常识:html格式化输出JSON示例(测试接口)
- C++ Liberary websit
- 投影仪融合+拼接处理系统制作原理
- 空间解析几何之向量运算
- 电脑主板线路连接图解_电脑主板连接线图解
- 升级Ubuntu造成RTL8125网卡驱动丢失
- 高德地图海量点 API 初探