This is an old revision of the document!
Les différentes configurations nécessaires à Spring sont faites dans des fichiers XML : springContext.xml, springAppContext.xml et springDataSource.xml.
o Des propriétés de hibernate via le bean SessionFactory,
o Du bean HibernateTemplate utilisé par les DAO o Les différents beans DAO o Les différents bean de services ainsi que les beans TransactionManager associés.
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 …
Pour un module d'application web, il est nécessaire de définir le context spring parent que l'on souhaite utiliser dans le fichier web.xml:
<!-- Spring Context --> <context-param> <param-name>locatorFactorySelector</param-name> <param-value>classpath*:springContext.xml</param-value> </context-param> <context-param> <param-name>parentContextKey</param-name> <param-value>span>epCore.context</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
il est également possible de l’utiliser dans une application :
String[] confFiles = {"/springAppContext.xml","/springDataSource.xml"}; ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(confFiles);
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 :
ServiceLocator locator = new ServiceLocator(context); IStudyService service= locator.getStudyService();