XmlBeanFactoryTests-delegationOverrides.xml 2.9 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
2 3 4
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
5

6
	<!--
7 8 9
		Not yet in use: illustration of possible approach
	-->
	<bean id="overrideOneMethod" class="org.springframework.beans.factory.xml.OverrideOneMethod">
P
Phillip Webb 已提交
10

11
		<lookup-method name="getPrototypeDependency" bean="jenny"/>
P
Phillip Webb 已提交
12

13
		<lookup-method name="protectedOverrideSingleton" bean="david"/>
P
Phillip Webb 已提交
14

15 16 17 18
		<!-- Arbitrary method replacer -->
		<replaced-method name="replaceMe" replacer="reverseReplacer">
			<arg-type>String</arg-type>
		</replaced-method>
P
Phillip Webb 已提交
19

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
		<replaced-method name="replaceMe" replacer="fixedReplacer"/>

	</bean>

	<bean id="someParent" abstract="true">

		<lookup-method name="getPrototypeDependency" bean="jenny"/>

		<lookup-method name="protectedOverrideSingleton" bean="david"/>

		<!--
			This method is not overloaded, so we don't need to specify any arg types
		-->
		<replaced-method name="doSomething" replacer="doSomethingReplacer"/>

	</bean>

	<bean id="replaceVoidMethod" parent="someParent"
			class="org.springframework.beans.factory.xml.OverrideOneMethodSubclass">

	</bean>

P
Phillip Webb 已提交
42
	<bean id="reverseReplacer"
43
		class="org.springframework.beans.factory.xml.ReverseMethodReplacer"/>
P
Phillip Webb 已提交
44 45

	<bean id="fixedReplacer"
46
		class="org.springframework.beans.factory.xml.FixedMethodReplacer"/>
P
Phillip Webb 已提交
47 48

	<bean id="doSomethingReplacer"
49 50
		class="org.springframework.beans.factory.xml.XmlBeanFactoryTests$DoSomethingReplacer"/>

P
Phillip Webb 已提交
51
	<bean id="serializableReplacer"
52
		class="org.springframework.beans.factory.xml.SerializableMethodReplacerCandidate">
P
Phillip Webb 已提交
53

54 55 56 57
		<!-- Arbitrary method replacer -->
		<replaced-method name="replaceMe" replacer="reverseReplacer">
			<arg-type>String</arg-type>
		</replaced-method>
P
Phillip Webb 已提交
58

59
	</bean>
P
Phillip Webb 已提交
60

61 62 63 64 65 66 67 68 69
	<bean id="jenny" class="org.springframework.beans.TestBean"
		scope="prototype">
		<property name="name"><value>Jenny</value></property>
		<property name="age"><value>30</value></property>
		<property name="spouse">
		<!-- Could use id and href -->
			<ref local="david"/>
		</property>
	</bean>
P
Phillip Webb 已提交
70

71 72 73 74 75 76 77 78 79 80 81 82
	<bean id="david" class="org.springframework.beans.TestBean"
		scope="singleton">
		<description>
			Simple bean, without any collections.
		</description>
		<property name="name">
			<description>The name of the user</description>
			<value>David</value>
		</property>
		<property name="age"><value>27</value></property>
	</bean>

83 84 85 86 87 88 89 90 91 92 93 94
	<bean id="overrideOneMethodByAttribute" class="org.springframework.beans.factory.xml.OverrideOneMethod">
		<replaced-method name="replaceMe" replacer="reverseReplacer">
			<arg-type match="String"/>
		</replaced-method>
	</bean>

	<bean id="overrideOneMethodByElement" class="org.springframework.beans.factory.xml.OverrideOneMethod">
		<replaced-method name="replaceMe" replacer="reverseReplacer">
			<arg-type>String</arg-type>
		</replaced-method>
	</bean>

95
</beans>