Multiple uses of the beans.xml properties and constructor

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
xmlns:p="http://www.springframework.org/schema/p">

<!– p is used below as p: –>

<context:component-scan base-package="com.sequence">

<context:include-filter type="regex"
expression="com\.apress\.springrecipes\.sequence\..*Dao.*" />

<context:include-filter type="regex"
expression="com\.apress\.springrecipes\.sequence\..*Service.*" />

<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
</context:component-scan>

<bean id="datePrefixGenerator" class="com.sequence.DatePrefixGenerator">
<property name="pattern" value="yyyyMMdd" />
</bean>

<bean name="sequenceGenerator1" class="com.sequence.SequenceGenerator">
<property name="prefix">
<value>31</value>
</property>
<property name="suffix">
<value>A</value>
</property>
<property name="initial">
<value>100000</value>
</property>
</bean>

<bean name="sequenceGenerator2" class="com.sequence.SequenceGenerator">
<constructor-arg>
<value>32</value>
</constructor-arg>
<constructor-arg>
<value>A</value>
</constructor-arg>
<constructor-arg>
<value>100000</value>
</constructor-arg>
</bean>

<bean id="sequenceGenerator3" class="com.sequence.SequenceGenerator">
<property name="prefix" value="33" />
<property name="suffix" value="A" />
<property name="initial" value="100000" />
</bean>

<bean name="sequenceGenerator4" class="com.sequence.SequenceGenerator">
<constructor-arg value="34" />
<constructor-arg value="B" />
<constructor-arg value="100000" />
</bean>

<!– p is used here –>

<bean id="sequenceGenerator5" class="com.sequence.SequenceGenerator"
p:prefix="35"
p:suffix="C"
p:initial="100000">
</bean>

<bean id="sequenceGenerator6" class="com.sequence.SequenceGenerator">
<constructor-arg value="36" />
<constructor-arg value="D" />
<property name="initial" value="100000" />
</bean>

<bean id="sequenceGenerator7" class="com.sequence.SequenceGenerator">
<constructor-arg value="37" />
<constructor-arg value="100000" />
<property name="suffix" value="E" />
</bean>

<bean id="sequenceGenerator8" class="com.sequence.SequenceGenerator">
<constructor-arg type="java.lang.String" value="38" />
<constructor-arg type="int" value="100000" />
<property name="suffix" value="F" />
</bean>

<bean id="sequenceGenerator9" class="com.sequence.SequenceGenerator">
<constructor-arg type="int" value="100000" />
<constructor-arg type="java.lang.String" value="G" />
<property name="prefix" value="30" />
</bean>

<bean id="sequenceGenerator10" class="com.sequence.SequenceGenerator">
<constructor-arg type="int" index="0" value="100000" />
<constructor-arg type="java.lang.String" index="1" value="H" />
<property name="prefix" value="30" />
</bean>

</beans>