Spring3MVC怎么獲取上下文路徑?


WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext());

不用Struts2中的ServletActionContext.getServletContext(),怎么實現?

也就是怎么傳入上下文呢?

WebApplicationContext org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(ServletContext sc)

5 个解决方案

#1


WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext());

不用Struts2中的ServletActionContext.getServletContext(),怎么實現?

Spring3MVC中是怎么傳入上下文呢?

#2


沒人會呀?

#3


不用struts2的話,就要自己手動配置初始化上下文了。

我前段時間做的項目的實例,不用strust2,手動獲取。。。

package com.wb.sms.protocol.sms;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
 * 
 * 獲取spring容器,以訪問容器中定義的其他bean
 * 
 * @author KOUYI
 * 
 */
public class  SpringContextUtil implements ApplicationContextAware {

// Spring應用上下文環境
private static ApplicationContext applicationContext;

/**
 * 實現ApplicationContextAware接口的回調方法,設置上下文環境
 * 
 * @param applicationContext
 */
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextUtil.applicationContext = applicationContext;
}

/**
 * @return ApplicationContext
 */
public static ApplicationContext getApplicationContext() {
return applicationContext;
}

/**
 * 獲取對象 這里重寫了bean方法,起主要作用
 * 
 * @param name
 * @return Object 一個以所給名字注冊的bean的實例
 * @throws BeansException
 */
public static Object getBean(String name) throws BeansException {
return applicationContext.getBean(name);
}

}

spring配置文件:為SpringContextUtil類配置上下文
<bean name="springContext" class="com.wb.sms.protocol.sms.SpringContextUtil"></bean>

<bean id="ISmsRespService" class="com.wb.sms.service.imp.SmsRespServiceImp">
<property name="dao">
<ref bean="smsRespDAO" />
</property>
</bean>

使用:
// 初始化ISmsRespService服務,非action的spring服務
ISmsRespService service =(ISmsRespService)  SpringContextUtil.getBean("ISmsRespService");

#4


會的人來了。。。
不用struts2就要手動配置,手動獲取上下文。。。
我前段時間做的一個功能實例,你看看

獲取容器上下文,實現手動注入
package com.wb.sms.protocol.sms;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
 * 
 * 獲取spring容器,以訪問容器中定義的其他bean
 * 
 * @author KOUYI
 * 
 */
public class SpringContextUtil implements ApplicationContextAware {

// Spring應用上下文環境
private static ApplicationContext applicationContext;

/**
 * 實現ApplicationContextAware接口的回調方法,設置上下文環境
 * 
 * @param applicationContext
 */
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextUtil.applicationContext = applicationContext;
}

/**
 * @return ApplicationContext
 */
public static ApplicationContext getApplicationContext() {
return applicationContext;
}

/**
 * 獲取對象 這里重寫了bean方法,起主要作用
 * 
 * @param name
 * @return Object 一個以所給名字注冊的bean的實例
 * @throws BeansException
 */
public static Object getBean(String name) throws BeansException {
return applicationContext.getBean(name);
}

}

spring配置文件:啟動spring時,加載SpringContextUtil類的,為后面獲取bean做准備
<bean name="springContext" class="com.wb.sms.protocol.sms.SpringContextUtil"></bean>

java類中使用:
// 初始化ISmsRespService服務,非action的spring服務
ISmsRespService service =(ISmsRespService) SpringContextUtil.getBean("ISmsRespService");

最后的service,就可以用了。。。。 

#5


會的人來了。。。
不用struts2就要手動配置,手動獲取上下文。。。
我前段時間做的一個功能實例,你看看

獲取容器上下文,實現手動注入
package com.wb.sms.protocol.sms;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
 * 
 * 獲取spring容器,以訪問容器中定義的其他bean
 * 
 * @author KOUYI
 * 
 */
public class SpringContextUtil implements ApplicationContextAware {

// Spring應用上下文環境
private static ApplicationContext applicationContext;

/**
 * 實現ApplicationContextAware接口的回調方法,設置上下文環境
 * 
 * @param applicationContext
 */
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextUtil.applicationContext = applicationContext;
}

/**
 * @return ApplicationContext
 */
public static ApplicationContext getApplicationContext() {
return applicationContext;
}

/**
 * 獲取對象 這里重寫了bean方法,起主要作用
 * 
 * @param name
 * @return Object 一個以所給名字注冊的bean的實例
 * @throws BeansException
 */
public static Object getBean(String name) throws BeansException {
return applicationContext.getBean(name);
}

}

spring配置文件:啟動spring時,加載SpringContextUtil類的,為后面獲取bean做准備
<bean name="springContext" class="com.wb.sms.protocol.sms.SpringContextUtil"></bean>

java類中使用:
// 初始化ISmsRespService服務,非action的spring服務
ISmsRespService service =(ISmsRespService) SpringContextUtil.getBean("ISmsRespService");

最后的service,就可以用了。。。。 

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com