获取spring 上下文的几种方法

来源:互联网 发布:淘宝用vr试穿 编辑:程序博客网 时间:2024/06/05 10:17

获取spring 上下文的几种方法:

 

1. 通过配置文件获取:

ApplicationContext ac=new ClassPathXmlApplicationContext("spring-jpa-hibernate.xml");SqlDao sQLDaoBean = (SqlDao)ac.getBean("sqlDaoBean");

 

 

2. 通过servletcontext获取:

例如在listener中获取:

public class DataDictionaryListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent arg0) {WebApplicationContext rwp = WebApplicationContextUtils.getRequiredWebApplicationContext(arg0.getServletContext());SqlDao sqlDaoBean = (SqlDao)rwp.getBean("sqlDaoBean");arg0.getServletContext().setAttribute("DataDictioary", sqlDaoBean.loadDataDictionary());System.out.println("DataDictioary is loaded");}@Overridepublic void contextDestroyed(ServletContextEvent arg0) {}}

 但是前提是web.xml中要先注入org.springframework.web.context.ContextLoaderListener

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><context-param><!-- location of spring config --><param-name>contextConfigLocation</param-name><param-value>classpath:spring-jpa-hibernate.xml</param-value></context-param><!-- initialize spring context--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- load data dictionary --><listener><listener-class>com.myproject.example.common.listener.DataDictionaryListener</listener-class></listener></web-app>

 

 

 

阅读全文
0 0
原创粉丝点击