bean的实例化方法
来源:互联网 发布:js清除history 编辑:程序博客网 时间:2024/06/04 17:44
1.默认方式
2.静态工厂的方法
静态工厂方法执行流程:
1,找到对应的配置文件;
2,加载配置文件;
3,解析所有的bean元素;识别id和class属性;
4,如果bean元素只有factory-method属性,得到factory-method属性值;
5,使用class属性+factory-method使用反射创建对象实例:
Class.forName(class).getMethod(factory-method).invoke(null,null);
5,把id作为key,把实例作为value存到spring容器中;
6,getBean从容器中拿到创建好的对象的实例;
1)工厂方法
2)配置文件
注:通过静态工厂方法生成的bean,在配置文件中配置的时候,bean的类型一定要写工厂类,并且指定<bean>元素的factory-method属性,内容为要调用的工厂类中的方法
3.实体工厂方法
1)实体工厂
2)配置
注:配置实体工厂方法生成的bean首先要先配置一个工厂的实体对象,然后再配置我们需要的bean,其中设置factory-method和factory-bean属性,其中factory-bean的值设置了作为工厂的实体,factory-method设置了调用工厂的方法
4.继承Spring的FactoryBean接口
如果我们写的工厂类实现了FactoryBean接口,那么Spring就会自动的识别到我们这个类是一个工厂类,虽然我们在Spring配置文件中只配置的是工厂的类型,但是Spring知道,我们要的是这个工厂生产出来的对象
FactoryBean的执行流程:
1,找到对应的配置文件;
2,加载配置文件;
3,解析所有的bean元素;识别id和class属性;
4,通过反射得到对象的实例,Class.forName(class).newInstance();
5,if(bean instanceof FactoryBean){
FactoryBean factory=(FactoryBean)bean;
Object realBean=factory.getObject();
}
6,把id作为key,把实例(realBean)作为value存到spring容器中;
7,getBean从容器中拿到创建好的对象的实例;
1)配置文件
2)工厂类
3)测试类
4)测试结果
注意:这种写法需要实现spring的接口FactoryBean,并且要实现接口中的三个方法getObject()(创建bean),getObjectType()(返回创建出来的bean对象的类型),isSingleton()
- bean的实例化方法
- 实例化Bean的三种方法
- spring中三种实例化bean的方法
- 有关spring的知识-----bean的实例化方法
- spring2.5 实例化bean的三种方法
- Spring中实例化bean的三种方法
- Spring实例化bean的三种方法
- Spring三种实例化Bean的方法
- spring 实例化bean的几种方法
- Spring中bean的三种实例化方法
- java_spring_实例化bean的3种方法
- 实例化Bean的方法(基于xml配置)
- Spring、实例化Bean的三种方法
- Spring三种实例化Bean的方法
- 比较Spring中三种实例化Bean的方法
- Spring实例化bean的三种方法
- Spring三种实例化Bean的方法
- Spring三种实例化Bean的方法
- SRM554 Div1Medium TheBrickTowerMediumDivOne
- 最短路练习9/poj/2240 Arbitrage;正环:floyd或spfa解法;
- DFS水题
- 整理的前端面试题1
- java模拟银行存取钱业务
- bean的实例化方法
- 无缝轮播图片
- Apache/Tomcat/JBOSS/Nginx区别
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- Servlet技术
- Axure新手学-中继器使用方法
- SSO
- MySQL
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序