spring隨筆(Junit 和web)

在web中配置spring

在web中有兩種配置spring的方式:

1.
ContextLoaderListener 通過spring監聽

<!-- 配置spring 監聽器,加載xml配置文件 -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener
    </listener-class>
    <!-- 確定配置文件位置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
</listener>

2.
ContextLoaderServlet 通過servlet

<servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

contextConfigLocation
contextConfigLocation 文件位置,如果我們不確定xml文件位置,默認是加載WEB-INF/applicationContext.xml 可以通過contextConfigLocation指定xml文件的位置。

<!-- 確定配置文件位置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

web中

// 從application作用域(ServletContext)獲得spring容器
        //方式1: 手動從作用域獲取
        ApplicationContext applicationContext = 
                (ApplicationContext) this.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
        //方式2:通過工具獲取
        ApplicationContext apppApplicationContext2 = 
                WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

Junit整合

package com.spring.annotation;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationContext.xml")
public class TestApi {
    @Autowired        //無需配置 junit整合
    private BookAction action;
    @Test
    public void fun(){

        action.insert();


    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章