关键字: spring beanfactory
在web application 调用Spring的Beanfactory
1)配置web.xml
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 配置加载的bean factory xml -->
<param-value>
WEB-INF/applicationContext*.xml
classpath:applicationContext-datasource.xml
classpath:applicationContext-hibernate.xml
classpath:applicationContext-dao.xml
classpath:applicationContext-service.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 配置加载的bean factory xml -->
<param-value>
WEB-INF/applicationContext*.xml
classpath:applicationContext-datasource.xml
classpath:applicationContext-hibernate.xml
classpath:applicationContext-dao.xml
classpath:applicationContext-service.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
2)Jsp页面中调用spring
Java代码
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
pageContext.getServletContext().getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
pageContext.getServletContext().getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
3)Servlet中调用spring
Java代码
ServletContext context = this.getServletContext();
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
context.getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
ServletContext context = this.getServletContext();
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
context.getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
4)ClassPath加载
Java代码
ApplicationContext beanFactory = new ClassPathXmlApplicationContext(
new String[] { "applicationContext-datasource.xml",
"applicationContext-hibernate.xml",
"applicationContext-service-freemarker.xml",
"applicationContext-service.xml"
});
在web application 调用Spring的Beanfactory
1)配置web.xml
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 配置加载的bean factory xml -->
<param-value>
WEB-INF/applicationContext*.xml
classpath:applicationContext-datasource.xml
classpath:applicationContext-hibernate.xml
classpath:applicationContext-dao.xml
classpath:applicationContext-service.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 配置加载的bean factory xml -->
<param-value>
WEB-INF/applicationContext*.xml
classpath:applicationContext-datasource.xml
classpath:applicationContext-hibernate.xml
classpath:applicationContext-dao.xml
classpath:applicationContext-service.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
2)Jsp页面中调用spring
Java代码
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
pageContext.getServletContext().getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
pageContext.getServletContext().getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
3)Servlet中调用spring
Java代码
ServletContext context = this.getServletContext();
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
context.getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
ServletContext context = this.getServletContext();
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
context.getAttribute(org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
4)ClassPath加载
Java代码
ApplicationContext beanFactory = new ClassPathXmlApplicationContext(
new String[] { "applicationContext-datasource.xml",
"applicationContext-hibernate.xml",
"applicationContext-service-freemarker.xml",
"applicationContext-service.xml"
});