Spring底层创建对象的几种方式
来源:互联网 发布:winscp是什么软件 编辑:程序博客网 时间:2024/05/18 04:51
一.默认通过构造方法创建对象:
pojo.Student类:
public class Student(){ public Student(){ System.out.println("我是一个默认的无参构造"); } public void say(){ System.out.println("您好,我是一个学生!"); }}
applicationContext.xml中:
<!--默认构造方法创建对象 --> <bean id="student" class="pojo.Student"/>
测试spring默认创建对象的过程:
@Testpublic void test(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Student student = (Student)context.getBean("student"); student.say();}
结果:
我是一个默认的无参构造您好,我是一个学生!
注意:
如果将默认的构造方法覆盖或删除,则创建对象时会报错!!!
二.spring工厂创建对象:
factory.SpringFactory类:(实现FactoryBean接口)
public class SpringFactory implements FactoryBean<Calendar>{ //通过getObject方法获得对象 @Override public Calendar getObject() throws Exception { return Calendar.getInstance(); } @Override public Class<?> getObjectType() { return null; } @Override public boolean isSingleton() { return false; }}
applicationContext.xml中:
<!--spring工厂创建对象 --> <bean id="calendar1" class="factory.SpringFactory"></bean>
测试spring默认创建对象的过程:
@Testpublic void test(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Calendar calendar = (Calendar) context.getBean("calendar1"); System.out.println("时间为:"+calendar.getTime());}结果: 时间为:Thu Mar 02 09:41:19 CST 2017
三.通过静态工长创建对象:
applicationContext.xml中:
<!-- 通过静态工厂创建对象 class="静态工厂的calss类型" factory-method 指的是静态方法 --> <bean id="calendar2" class="factory.StaticFacotry" factory-method="getCalendar"></bean>
四.通过实例工厂创建对象:
applicationContext.xml中:
<!--实例工厂创建对象 --> <bean id="newIntasanceFactory" class="factory.NewIntasanceFactory"></bean> <bean id="calendar2" factory-bean="newIntasanceFactory" factory-method="getCalendar"></bean>
0 0
- Spring底层创建对象的几种方式
- spring创建对象的几种方式
- Spring:创建Bean的几种方式
- Spring:创建Bean的几种方式
- Spring创建Bean的几种方式
- JS 创建对象的几种方式
- JavaScript 创建对象的几种方式
- js创建对象的几种方式
- JavaScript创建对象的几种方式
- Javascript创建对象的几种方式
- JS 创建对象的几种方式
- javascript创建对象的几种方式
- 创建对象的几种方式
- javascript创建对象的几种方式
- js创建对象的几种方式
- javascript创建对象的几种方式
- javascript 创建对象的几种方式
- Java创建对象的几种方式
- Unit 3-Lecture3: Counting with Bijections
- linux 基础学习之 磁盘,分区,MBR与GPT
- Audio WAV文件头格式
- iOS
- 怎么在oracle中手建一个数据库表?
- Spring底层创建对象的几种方式
- Java final变量与final类的内存模型
- 2016中国大数据市场研究报告
- VMware Workstation删除虚拟机
- 冒泡排序
- selinux(案例) recovery删除data目录下的文件
- Json字符串和Java实体类之间的相互转换(利用jackson实现)
- Spring LocalVariableTableParameterNameDiscoverer 获取方法的参数名称
- spring forward 转发 redirect 重定向