Ⅴ.spring的点点滴滴--引用其他对象或类型的成员
承接上文
引用其他对象或类型的成员
.net篇(环境为vs2012+Spring.Core.dll v1.31)
public class Person {
public string Name { get; set; }
public static int Age { get; set; }
public string sex;
public static int Add(int x, int y){
return x + y;
}
public int Add(int x, int y,int z){
return x + y+z;
}
}<object id="person" type="SpringBase.Person,SpringBase">
<property name="Name" value="cnljli" />
<property name="Age" value="1"/>
<property name="sex" value="0"/>
</object>
<object id="theName"
type="Spring.Objects.Factory.Config.PropertyRetrievingFactoryObject, Spring.Core">
<property name="TargetObject" ref="person"/>
<property name="TargetProperty" value="Name"/>
</object>
<object id="theAge"
type="Spring.Objects.Factory.Config.PropertyRetrievingFactoryObject, Spring.Core">
<property name="StaticProperty" value="SpringBase.Person.Age"/>
</object>
<object id="thesex"
type="Spring.Objects.Factory.Config.FieldRetrievingFactoryObject, Spring.Core">
<property name="TargetObject" ref="person"/>
<property name="TargetField" value="sex"/>
</object>
<object id="theadd1"
type="Spring.Objects.Factory.Config.MethodInvokingFactoryObject, Spring.Core">
<property name="TargetType" value="SpringBase.Person,SpringBase"/>
<property name="TargetMethod" value="Add"/>
<property name="Arguments">
<list>
<value>1</value>
<value>2</value>
</list>
</property>
</object>
<object id="theadd2"
type="Spring.Objects.Factory.Config.MethodInvokingFactoryObject, Spring.Core">
<property name="TargetObject" ref="person"/>
<property name="TargetMethod" value="Add"/>
<property name="NamedArguments">
<dictionary>
<entry key="x" value="1" />
<entry key="y" value="2" />
<entry key="z" value="3" />
</dictionary>
</property>
</object>
- StaticProperty的值必须填完整
- Arguments的值的时候是从上往下匹配,NamedArguments是通过键值对匹配
java篇(环境为Maven+Jdk1.7+IntelliJ IDEA 12.1.4)
package springdemo;
public class factoryObject {
private String name;
public static Integer age;
public String sex;
public static int Add(int x, int y) {
return x + y;
}
public static Integer getAge() {
return age;
}
public static void setAge(Integer age) {
factoryObject.age = age;
}
public int Add(int x, int y, int z) {
return x + y + z;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}<bean id="person" class="springdemo.factoryObject">
<property name="name" value="cnljli"/>
<property name="age" value="1"/>
<property name="sex" value="0"/>
</bean>
<bean id="theName"
class="org.springframework.beans.factory.config.PropertyPathFactoryBean">
<property name="targetBeanName" value="person"/>
<property name="propertyPath" value="name"/>
</bean>
<bean id="theAge"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField" value="springdemo.factoryObject.age"/>
</bean>
<bean id="thesex"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="TargetObject" ref="person"/>
<property name="targetField" value="sex"/>
</bean>
<bean id="theadd1"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="springdemo.factoryObject"/>
<property name="targetMethod" value="Add"/>
<property name="arguments">
<list>
<value>1</value>
<value>2</value>
</list>
</property>
</bean>
<bean id="theadd2"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="person"/>
<property name="targetMethod" value="Add"/>
<property name="arguments">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
</bean>
- 字段必须有get和set的方法
java和Csharp的共同点
- theadd1是静态方法,theadd2为实例方法
- 就是标签的name几乎一样
- 分别的效果是获取属性、静态字段(csharp为静态属性)、获取字段、静态方法返回、实例方法返回
Ⅴ.spring的点点滴滴--引用其他对象或类型的成员的更多相关文章
- Ⅵ.spring的点点滴滴--自定义类型转换器
承接上文 自定义类型转换器 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class CustomeConverter : TypeConverter{ ...
- Ⅳspring的点点滴滴--方法和事件
承接上文 方法和事件 .net篇(环境为vs2012+Spring.Core.dll v1.31) public abstract class MethodDemo { protected abstr ...
- Java 超类引用子类对象的示例代码
动态方法分配 dynamic method dispatch 一个被重写的方法的调用会在运行时解析,而不是编译时解析 Java 会根据在调用发生时引用的对象的类型来判断所要执行的方法 public c ...
- Ⅱ.spring的点点滴滴--对象
承接上文 对象的各种实例化 .net篇(环境为vs2012+Spring.Core.dll) 修改原来的PersonDao对象为 public class PersonDao : IPersonDao ...
- Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)
承接上文 IObjectPostProcessor(对象后处理器) 前提是实现接口的对象注册给当前容器 C#: 通过继承AbstractObjectFactory对象的AddObjectPostPro ...
- Ⅶ.spring的点点滴滴--自定义对象行为
承接上文 自定义对象行为 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class lifeCycle : Spring.Objects.Factory. ...
- Ⅷ.spring的点点滴滴--抽象对象和子对象
承接上文 抽象对象和子对象 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { public string Name { get; ...
- Spring根据XML配置文件注入对象类型属性
这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...
- Ⅲ.spring的点点滴滴--赋值
承接上文 对象的赋值(调用方式都一样不再阐述) .net篇(环境为vs2012+Spring.Core.dll v1.31) public class PropertyDemo{ public Sys ...
随机推荐
- Interface和Abstract class区别
在面向对象中,Interface和Abstract class是实现抽象类定义的两种机制. 1.声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本 ...
- Delphi XE5 android 图解为Android应用制作签名
本文摘自 http://redboy136.blog.163.com/blog/static/107188432201381872820132 要发布android应用,必须做签名的.看一下具体的操作 ...
- Linux fdisk 命令
Linux fdisk 命令 fdisk fdisk功能说明:磁盘分区.语 法:fdisk [-b <分区大小>][-uv][外围设备代号] ...
- js去除重复数值
var c=[2,4,3,5,2,2,2], a = {}, i = 0; for(;i<c.length;i++){ a[c[i]] = 1 //利用对象名称不能重复的特性来去重 } c=[] ...
- Ubuntu安装提示Permission Denied
我用wubi安装ubuntu 显示 permission denied 并要查看日志文件 怎么办啊? 你好,你把你的ISO放到你的Wubi目录下面,也就是把镜像放到你解压好的文件夹里面就可以了呢!! ...
- BZOJ 1735: [Usaco2005 jan]Muddy Fields 泥泞的牧场
Description 大雨侵袭了奶牛们的牧场.牧场是一个R * C的矩形,其中1≤R,C≤50.大雨将没有长草的土地弄得泥泞不堪,可是小心的奶牛们不想在吃草的时候弄脏她们的蹄子. 为了防止她们的蹄 ...
- CF192div2-C - Purification
题意: 从给定的图中找出某些点,这些点能够消除同一行和同一列的“怪物”.求使得最少的点的位置. 关键:要想消除整张的图的妖怪,必须选中n个点(对于n行n列来说)!!!!!!!!!!! 做法:对于每一行 ...
- 李洪强iOS开发本人集成环信的经验总结_02_基本配置
李洪强iOS开发本人集成环信的经验总结_02_基本配置 来到APPdelegate中做一些配置 01 - 导入头文件 02 - 在didFinishLaunchingWithOptions用法总结 ...
- ANDROID_MARS学习笔记_S02_002_Date\TimePicker
一.文档用法 1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- 第七章Bulk设备
小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paul ...