This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:epims4_0m2:developer:epcorespring [2008/07/17 16:23] dupierris créée |
wiki:epims4_0m2:developer:epcorespring [2008/10/02 10:21] (current) |
||
---|---|---|---|
Line 4: | Line 4: | ||
Les différentes configurations nécessaires à Spring sont faites dans des fichiers XML : springContext.xml, springAppContext.xml et springDataSource.xml. | Les différentes configurations nécessaires à Spring sont faites dans des fichiers XML : springContext.xml, springAppContext.xml et springDataSource.xml. | ||
- | * springContext.xml : C'est le point d'entrée, ce fichier créée un ApplicationContext, ayant epCore.context comme id, dans lequel est chargé tout l'environnement contenu dans les deux autres fichiers. | + | * springContext.xml : C'est le point d'entrée, ce fichier créée un ApplicationContext, ayant epCore.context comme id, dans lequel est chargé tout l'environnement contenu dans les deux autres fichiers. |
- | * springAppContext.xml : Contient la définition des beans de eP-Core, à savoir les bean DAO utilisé par les beans Services également définis dans ce fichier. C'est aussi dans ce fichier que l'on trouve la configuration relative à hibernate. On retrouve dans ce fichier les définitions | + | * springAppContext.xml : Contient la définition des beans de eP-Core, à savoir les bean DAO utilisé par les beans Services également définis dans ce fichier. C'est aussi dans ce fichier que l'on trouve la configuration relative à hibernate. On retrouve dans ce fichier les définitions |
- | + | * Des propriétés de hibernate via le bean SessionFactory, | |
- | o Des propriétés de hibernate via le bean SessionFactory, | + | * Du bean HibernateTemplate utilisé par les DAO |
- | o Du bean HibernateTemplate utilisé par les DAO | + | * Les différents beans DAO |
- | o Les différents beans DAO | + | * Les différents bean de services ainsi que les beans TransactionManager associés. |
- | o Les différents bean de services ainsi que les beans TransactionManager associés. | + | * springDataSource.xml : Définition de la datasource permettant d'accéder à la BD et de la ressource JMS utilisé. Ce module étant déployé sur Geronimo, on peut référencé la datasource (DS JNDI) et la ressource JMS déclarées au niveau de ce serveur. |
- | * springDataSource.xml : Définition de la datasource permettant d'accéder à la BD. Ce module étant déployé sur Geronimo, on peut référencé la datasource déclarée au niveau de ce serveur (DS JNDI). | ||
+ | ==== Partage du contexte ==== | ||
Les modules ePims déclaré dans l'application EAR partageront le context spring définit dans eP-Core et donc les beans 'singleton' définis dans ce contexte. Voir la doc de l'architecture ePims ... | Les modules ePims déclaré dans l'application EAR partageront le context spring définit dans eP-Core et donc les beans 'singleton' définis dans ce contexte. Voir la doc de l'architecture ePims ... | ||
Line 32: | Line 32: | ||
</code> | </code> | ||
- | il est également possible de l’utiliser dans une application : | + | L'initialisation du contexte Spring peut aussi se faire dans hors partage du contexte (pour les tests JUnit par exemple) |
+ | il est également possible d’utiliser ldans une application : | ||
<code java> | <code java> | ||
String[] confFiles = {"/springAppContext.xml","/springDataSource.xml"}; | String[] confFiles = {"/springAppContext.xml","/springDataSource.xml"}; | ||
Line 38: | Line 39: | ||
</code> | </code> | ||
- | === Code === | + | ==== Accès aux beans ==== |
Dans le code des applications utilisant le module eP-Core, lorsque l'on souhaite accéder à un des beans(services) définis dans spring, on utilise la classe ServiceLocator : | Dans le code des applications utilisant le module eP-Core, lorsque l'on souhaite accéder à un des beans(services) définis dans spring, on utilise la classe ServiceLocator : | ||
<code java> | <code java> | ||
- | ServiceLocator locator = new ServiceLocator(context); | + | ServiceLocator locator = new ServiceLocator(context); //Contexte initialisé par l'application |
IStudyService service= locator.getStudyService(); | IStudyService service= locator.getStudyService(); | ||
</code> | </code> | ||
+ | Dans le cas d'application Web initialisé comme indiqué ci-dessus, l'accès aux contexte Spring se fait via le servlet. Dans le cas de JSF | ||
+ | <code java> | ||
+ | ServletContext servletContext = ((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()); | ||
+ | ApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); | ||
+ | ServiceLicator serviceLocator_ = new ServiceLocator(context); | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | **(Continuez vers la suite de la documentation => [[.:epcorehibernate]])** |