• Spring5——Spring开发web项目及拆分Spring配置文件


    Spring开发web项目
    web项目初始化Spring IOC容器:
    当服务启动时,通过监听器初始化一次(Spring-web.jar已经提供)。
    需要7个jar:spring-java6个jar+Spring-web.jar。
    web项目启动时,会自动加载web.xml,因此在web.xml中加载监听器。(IOC容器初始化)
    <!--IOC容器的位置-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/applicationContext.xml</param-value>
    </context-param>
    
    <!--通过监听器初始化一次(Spring-web.jar已经提供)-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    

      

    拆分Spring配置文件
    将多个配置文件加载
    (1)
    <!--IOC容器的位置-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            WEB-INF/applicationContext.xml
            WEB-INF/applicationContext-Dao.xml
            WEB-INF/applicationContext-Service.xml
            WEB-INF/applicationContext-Controller.xml
        </param-value>
    </context-param>
    

    (2)推荐 

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <!--加载多个配置文件-->
        <param-value>
            WEB-INF/applicationContext.xml
            WEB-INF/applicationContext-*.xml
        </param-value>
    </context-param>
    

    (3)在主配置文件中加载其他文件

    <import resource="applicationContext-Controller.xml"/>
    <import resource="applicationContext-Service.xml"/>
    <import resource="applicationContext-Dao.xml"/>
    

     servlet容器与ioc容器连接问题。 

     

    //在初始化时获取ioc容器中的对象
    @Override
    public void init() throws ServletException {
       // ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext-Service.xml");
       //web项目获取上下文对象
        ApplicationContext context= WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
        studentService= (IStudentService) context.getBean("studentService");
    }
    

      

     

  • 相关阅读:
    C++中的模板编程
    C++中的抽象类
    C++中的多态
    C++中的继承
    操作符重载(二)
    操作符重载(一)
    C++中的类与对象模型
    [八省联考2018] 劈配 (网络流+二分)
    CF51F Caterpillar (边双+树形DP)
    CF36E Two Paths (欧拉回路+构造)
  • 原文地址:https://www.cnblogs.com/ghlz/p/13181985.html
Copyright © 2020-2023  润新知