<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<!-- ========================= GENERAL DEFINITIONS ========================= -->
<!-- Configurer that replaces ${...} placeholders with values from properties files -->
<!-- (in this case, JDBC related properties) -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>
<!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= -->
<!-- Generic validator for Account objects, to be used for example by the Spring web tier -->
<bean id="accountValidator" class="org.springframework.samples.jpetstore.domain.logic.AccountValidator"/>
<!-- Generic validator for Order objects, to be used for example by the Spring web tier -->
<bean id="orderValidator" class="org.springframework.samples.jpetstore.domain.logic.OrderValidator"/>
<!--
This marker creates the full auto-proxy infrastructure
that is necessary for applying Spring's Transactional annotation
(as contained in the PetStoreAnnotationImpl class). By default,
it will refer to the transaction manager bean named "transactionManager".
-->
<tx:annotation-driven/>
<!--
JPetStore primary business object: default implementation,
Note that this is just a POJO definition in this file:
there's no need to use a TransactionFactoryProxyBean if the class has
source-level transaction annotations; the "tx:annotation-driven"
marker above will apply transaction advice automatically.
-->
<bean id="petStore" class="org.springframework.samples.jpetstore.domain.logic.PetStoreAnnotationImpl">
<property name="accountDao" ref="accountDao"/>
<property name="categoryDao" ref="categoryDao"/>
<property name="productDao" ref="productDao"/>
<property name="itemDao" ref="itemDao"/>
<property name="orderDao" ref="orderDao"/>
</bean>
<!-- ========================= REMOTE EXPORTER DEFINITIONS ========================= -->
<!-- RMI exporter for the JPetStore OrderService -->
<!-- Commented out by default to avoid conflicts with EJB containers -->
<!--
<bean id="order-rmi" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service" ref="petStore"/>
<property name="serviceInterface" value="org.springframework.samples.jpetstore.domain.logic.OrderService"/>
<property name="serviceName" value="order"/>
<property name="registryPort" value="1099"/>
</bean>
-->
</beans>