Spring与Web项目整合的原理

引言:

  在刚开始我们接触IOC时,我们加载并启用SpringIOC是通过如下代码手动加载 applicationContext.xml 文件,new出context对象,完成Bean的创建和属性的注入。

public class TestIOC {

    @Test
    public void testUser() {
        // 1.加载Spring配置文件,创建对象
        ApplicationContext context = new ClassPathXmlApplicationContext("/spring/applicationContext.xml");
        
        // 2.得到配置创建的对象
        Person person = (Person) context.getBean("person");
        
        // 3.调用bean对象中的方法
        person.test1();
    }
}

  注意:这只是测试代码,我们使用 Junit 进行单元测试,如果我们在实际生产过程中,每次创建对象都使用该代码加载配置文件,再创建对象。这种方法当然不可取,太浪费资源。其实,Spring早就帮我们解决了这个问题。

  

Spring和Web项目整合原理:

  1、实现思想:

    把加载配置文件和创建对象的过程,在服务器启动时完成。

  2、实现原理:

    (1)ServletContext对象

    (2)监听器

  3、具体使用:

    (1)在服务器启动时候,会为每个项目创建一个ServletContext对象

    (2)在ServletContext对象创建的时候,使用监听器(ServletContextListener)可以知道ServletContext对象在什么时候创建

扫描二维码关注公众号,回复: 4631545 查看本文章

    (3)监听到ServletContext对象创建的时候,即在监听器的 contextInitialized()方法中加载Spring的配置文件,把配置文件配置对象创建

    (4) 把创建出来的对象放到ServletContext域对象里面(setAttribute方法),获取对象的时候,从ServletContext域里得到(getAttribute方法)

未完待续...............

猜你喜欢

转载自www.cnblogs.com/xb1223/p/10167233.html