- 最常用的,通过servlet 或者struts的 action来调用 spring管理的bean。
由于整个环境变量已经完全由application-context.xml和web.xml注入。所以不需要显式的再去获得spring的context。可以直接调用
- 在httplistener下面调用 spring管理的bean
- WebApplicationContext springCtx = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext());
- UserService userService = (UserService)(springCtx.getBean("UserService"));
- userService.deleteOnlineUser(sessionID);
- 在java application下面调用spring管理的bean
- package com.alcor.web.tester.client;
- import java.util.Iterator;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.FileSystemXmlApplicationContext;
- import com.alcor.web.hibernate.AlcorTCountries;
- import com.alcor.web.hibernate.AlcorTProvinces;
- import com.alcor.web.services.system.CountryService;
- public class Tester {
-
- public static void main(String[] args) throws Exception{
-
- String[] locations = {"applicationContext.xml"};
ApplicationContext ctx = new ClassPathXmlApplicationContext(locations); //第二种方式
- ApplicationContext ctx = new FileSystemXmlApplicationContext("/WebContent/WEB-INF/applicationContext*.xml");
- CountryService countryService= (CountryService)ctx.getBean("CountryService");
- AlcorTCountries alcorTCountries= countryService.getCountriesInfo("CN");
- System.out.println(alcorTCountries.getCountry());
- Iterator<AlcorTProvinces> it = alcorTCountries.getAlcorTProvinceses().iterator();
- while (it.hasNext()){
- AlcorTProvinces alcorTProvinces= (AlcorTProvinces)it.next();
- System.out.println(alcorTProvinces.getProvinceName());
- }
- }
- }