1.1.14.4.4. fejezet, Spring és kontextusok
Beküldte pzoli - 2012, június 12 - 4:22du
Ha szolgáltatás annotációt használunk,
@Service("movieService") public class MovieServiceImpl implements MovieService { private MovieDAO movieDAO; @Autowired public MovieServiceImpl(MovieDAO movieDAO) { this.movieDAO = movieDAO; } ... }
az ApplicationContext-ben megtalálhatjuk a példányt:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); return (MovieService) context.getBean("movieService");
De egyszerűbb, ha implementáljuk a ApplicationContextAware interfészt egy bean-ben, mert ilyenkor nem kell mindig feldolgozni az XML fájlt.
package org.primefaces.examples.moviecollector.spring; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public class SpringApplicationContext implements ApplicationContextAware { private static ApplicationContext CONTEXT; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { CONTEXT = applicationContext; } public static Object getBean(String beanName) { return CONTEXT.getBean(beanName); } }
Az applicationContext.xml-ben pedig bean-ként inicializáljuk:
<bean id="springApplicationContext" class="org.primefaces.examples.moviecollector.spring.SpringApplicationContext"/>
Majd meghívjuk a statikus metódust:
SpringApplicationContext.getBean("movieService");
- A hozzászóláshoz be kell jelentkezni