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");
}

  

 

原文地址:https://www.cnblogs.com/ghlz/p/13181985.html