spring在web工程和普通java工程使用时候区别

时间:2021-02-14 20:05:20

一、在web工程里,使用spring我们一般在web.xml里加

  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

ContextLoaderListener 类大致方法如下

public class ContextLoaderListener extends ContextLoader implements ServletContextListener{

//主要也就是容器的初始化和销毁方法

}

ContextLoaderListener实现了ServletContextListener接口,ServletContextListener接口有两个方法,容器初始化和销毁

   public void contextInitialized ( ServletContextEvent sce );

   public void contextDestroyed ( ServletContextEvent sce );

ServletContextEvent 里面有获取ServletContext的方法,即一个Servlet的上下文,最后由ContextLoader初始化一个web工程的上下文,需要传递Servlet的上下文。

我们需要使用的bean,在容器初始化的时候也默认被初始化了,我们只需要在被管理的类里加一个setter方法就可以获取了。


二、在普通的java 工程中,通常用如下的代码来获取被管理的bean

1.取得一个上下文容器对象

ApplicationContext ac = new FileSystemXmlApplicationContext(“applicationContext.xml”);

2.从容器里面获取被管理的对象

ac.getBean(“beanName”);