Del Mar, 29/07/2014 - 21:34 por LNi3to
En Java - WEB
Vamos a trabajar ahora en la configuración de la capa de negocios (o capa de servicios) de nuestro proyecto, que centralizaremos en el fichero business-config.xml.
La decisión de separar los ficheros de configuraciones de las diferentes capas es una consideración de diseño tomada con el objetivo de facilitar el desarrollo y mantenimiento independiente de cada una de éstas. Aunque esta es la forma más común de estructurar un proyecto web, existen otros criterios a aplicar; una vez comprendido el ejemplo y con la práctica, cada cual sacará sus propias conclusiones.
En la capa de servicios funcionaremos por anotaciones, dando uso al estereotipo @service, para no tener que declarar los beans asociados; en su lugar debemos indicarle a Spring los paquetes que debe escanear para encontrarlos.
Usaremos la etiqueta component-scan, indicando con el atributo base-package el paquete a escanear:
<context:component-scan base-package="com.reor.app01.service"/>
Las configuraciones asociadas a la capa de persistencia las importaremos en lugar de declararlas directamente. Estas declaraciones aparecerán en el fichero datasource-config.xml que detallaremos más adelante.
<import resource="datasource-config.xml"/>
Como hemos comentado antes, la disgregación responde al criterio de diseño que se ha tenido en cuenta y no tiene que ser el mismo para todos los desarrolladores, las configuraciones de la capa de persistencia las podríamos sencillamente copiar aquí,
También vamos a habilitar, desde nuestro business-config.xml, el uso de transacciones mediante anotaciones: @Transactional.
<tx:annotation-driven />
Una vez habilitadas, declaramos elmanejador de transacciones que vamos a usar, especificando la fuente de datos asociada y el calificador para indicarlo a nivel de código.
<bean id="transactionManagerApp01" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> <qualifier value="txApp"/> </bean>
Al igual que hicimos antes con los beans de servicios, los beans de acceso a datos tampoco los vamos a declarar directamente ya que también usaremos anotaciones. Declararemos en la siguiente línea, la ruta donde Spring va a buscar los DAOs marcados con el estereotipo @Repository.
<context:component-scan base-package="com.reor.app01.dao.jdbc"/>
Finalmente, nuestro business-config.xml queda así:
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <import resource="datasource-config.xml"/> <context:component-scan base-package="com.reor.app01.service"/> <context:property-placeholder location="classpath:spring/data-access.properties"/> <tx:annotation-driven /> <bean id="transactionManagerApp01" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> <qualifier value="txApp"/> </bean> <context:component-scan base-package="com.reor.app01.dao.jdbc"/> </beans>
Continúa en: El datasource-config.xml. Configurando Spring JDBC
X Cerrar Más información Esta web utiliza cookies para mejorar la experiencia de usuario. Si continúas navegando consideramos que aceptas su uso.