Czesc, mam takie pytanie - jak prawidlowo uzywac applicationContext w roznych klasach aplikacji?
Tzn. uzywam applicationContext by wczytywac DAO:
//w klasie A
private final ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//pozniej w metodzie test() klasy A:
TestDAOImpl testImpl = (TestDAOImpl) context.getBean("testDAOImpl");
TestBean testBean = new TestBean(1, 2, 3);
testImpl.updateTestBean(testBean);
zas w applicationContext.xml jest to zdefiniowane:
<bean id="testDAOImpl" class="com.test.db.dao.TestDAOImpl">
<property name="sessionFactory" ref="hibernateSessionFactory" />
</bean>
i to jest ok. Mam w ten sposob dostep do DAO Test'a w klasie A. Ale teraz mam sobie klase B i znow potrzebuje dostepu do DAO Test'a. Potrzebuje wiec znow miec:
private final ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Tylko ze to mi chyba wczyta jeszcze raz, prawda? A czy to nie powinno byc tak (nie wiem, dlatego pytam) ze raz to sobie wczytam a potem we wszystkich klasach mam dostep do context przy pomocy jakiejs mojej metody typu getMyContext()?
Jak ja powinnam to poprawnie zrobic?
-
Moze stworzyc sobie Singleton ktory raz wczyta tego xml'a a potem wlasnie bedzie zwracal dostep do niego poprzez metode typu getMyContext()?
-
Moze to jest jednak poprawne ze w kazdej klasie w ktorej potrzebuje wywoluje na nowo:
private final ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
aby uzyskac dostep do context?
- A moze to sie robi w jakis inny(odpowiedni) sposob (jaki?)
Pytam poniewaz chce tego uzywac poprawnie, szukam w googlach ale widze rozne podjescia, a chcialabym miec pewnosc ze uzywam tego najbardziej odpowiednio jak sie da - stad prosba o rade do Was!
pzdr,
misty