Ⅱ.spring的点点滴滴--对象(二)

2014-11-24 08:14:41 · 作者: · 浏览: 2
lazy-init="true">
因为里面的name属性没什么用可以直接去掉
调用方式都是几乎一样的csharp的ContextRegistry.GetContext().GetObject("name") 或者java的 new FileSystemXmlApplicationContext("classpath:bean.xml").getBean("name")
节点的lazy-init,属性值为false,容器在初始化的时候就会创建它们。将该属性设置为true, 就可将对象的创建为使用时创建
csharp:控制singleton对象的创建时机当对象不是singleton时会报错
java:没有singleton限制
静态工厂方法创建对象, 调用的是PersonDao类里面的静态方法factoryInstance来创建实例, 其中factory-method表示的是静态对象的方法, 因为方法有参数所以用constructor-arg来赋值
csharp:
factory-method="factoryInstance">
java:
factory-method="factoryInstance">
实例工厂方法创建对象和静态唯一的区别是多 了一个属性[factory-object或者factory-bean],表示实例的对象
csharp:
factory-object="PersonDao">
java:
factory-bean="PersonDao">
property是给对象的属性赋值,如上我在属性和构造函数中同时为name赋值, 最后的值为属性中赋予的值,在java中要写setter才行,csharp有默认的
设置null值,比如上面的构造函数Child为null,只是设置null标签即可
csharp:
singleton="true"
lazy-init="true">
java:
singleton="true"
lazy-init="true">
设置为空值,以下两种都可以达到效果