1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
<?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:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<!-- On importe différent namespace qui correspondent à différentes fonctionnalités de spring dont on a besoin. xml standard-->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/taza" />
</bean>
<!-- on définit un bean appelé "dataSource" qui est récupéré depuis le jndi du conteneur à l'endroit indiqué -->
<!--Gestionnaire de persistence Unit-->
<bean id="pum" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager"
p:persistenceXmlLocations="classpath:persistence.xml"
p:defaultDataSource-ref="dataSource" />
<!-- on définit un persistence unit appelé pum, de type jpa et configuré à partir du persistence.xml. On lui passe aussi en paramètre la datasource à utiliser -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" p:dataSource-ref="dataSource">
<property name="persistenceUnitManager" ref="pum"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
p:databasePlatform="org.hibernate.dialect.MySQL5InnoDBDialect" p:showSql="true">
</bean>
</property>
</bean>
<!-- on définit un entity manager spring, de type hibernate, et utilisant le persistence unit mentionn -->
<!--le gestionnaire de transactions-->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="entityManagerFactory" p:validateExistingTransaction="true">
</bean>
<!-- on en récupère le transaction manager -->
<context:annotation-config />
<!-- on dit à spring qu'il faut tenir compte des annotations spring -->
<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager" />
<!-- et on précise comment gérer les annotations de transaction -->
<!--annotations de persistance-->
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<!-- un bean qui doit probablement être injecté quelque part -->
<!--traduction des exceptions-->
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
<!-- un bean qui doit probablement être injecté quelque part -->
<!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->
<context:component-scan base-package="fr.itldev.tazaWebapp"/>
<!-- les packages à scanner pour les annotations -->
</beans> |
Partager