ssm中xml介紹
這幾天一直在整合SSM框架,雖然網上有很多已經整合好的,但是對於裡面的配置檔案並沒有進行過多的說明,很多人知其然不知其所以然,經過幾天的搜尋和整理,今天總算對其中的XML配置檔案有了一定的瞭解,所以拿出來一起分享一下,希望有不足的地方大家批評指正~~~
首先 這篇文章暫時只對框架中所要用到的配置檔案進行解釋說明,而且是針對註解形式的,框架運轉的具體流程過兩天再進行總結.
spring+springmvc+mybatis框架中用到了三個XML配置檔案:web.xml,spring-mvc.xml,spring-mybatis.xml.第一個不用說,每個web專案都會有的也是關聯整個專案的配置.第二個檔案spring-mvc.xml是springmvc的一些相關配置,第三個是mybatis的相關配置.
專案中還會用到兩個資源屬性檔案jdbc.properties和log4j.properties.一個是關於jdbc的配置,提取出來方便以後的修改.另一個是日誌檔案的配置.
以上是我這篇文章中所要講的內容,比較簡單,也很容易懂.希望大牛不要鄙視~~接下來進入正題:
一 web.xml
關於這個配置檔案我以前一直都是朦朦朧朧的狀態,剛好藉著這次整合框架的機會將它瞭解清楚.在下面的程式碼中我對每一個標籤都進行了詳細的註釋,大家一看就懂,主要理解<servlet>中的配置,因為其中配置了前端控制器,在SSM框架中,前端控制器起著最主要的作用.下面貼上程式碼
-
<?xml version="1.0" encoding="UTF-8"?>
-
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xmlns=
"http://java.sun.com/xml/ns/javaee"
-
xsi:schemaLocation=
"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-
version=
"3.0">
-
-
<context-param>
<!--全域性範圍內環境引數初始化-->
-
<param-name>contextConfigLocation
</param-name>
<!--引數名稱-->
-
<param-value>classpath:spring-mybatis.xml
</param-value>
<!--引數取值-->
-
</context-param>
-
-
<!--以下配置的載入順序:先 ServletContext >> context-param >> listener >> filter >> servlet >> spring-->
-
-
<!---------------------------------------------------過濾器配置------------------------------------------------------>
-
<!--例:編碼過濾器-->
-
<filter>
<!-- 用來宣告filter的相關設定,過濾器可以擷取和修改一個Servlet或JSP頁面的請求或從一個Servlet或JSP頁面發出的響應-->
-
<filter-name>encodingFilter
</filter-name>
<!--指定filter的名字-->
-
<filter-class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<!--定義filter的類的名稱-->
-
<async-supported>true
</async-supported>
<!--設定是否啟用非同步支援-->
-
<init-param>
<!--用來定義引數,若在Servlet可以使用下列方法來獲得:String param_name=getServletContext().getInitParamter("param-name裡面的值");-->
-
<param-name>encoding
</param-name>
<!--引數名稱-->
-
<param-value>UTF-8
</param-value>
<!--引數值-->
-
</init-param>
-
</filter>
-
<filter-mapping>
<!--用來定義filter所對應的URL-->
-
<filter-name>encodingFilter
</filter-name>
<!--指定對應filter的名字-->
-
<url-pattern>/*
</url-pattern>
<!--指定filter所對應的URL-->
-
</filter-mapping>
-
-
<!---------------------------------------------------監聽器配置------------------------------------------------------>
-
<!--例:spring監聽器-->
-
<listener>
<!--用來設定Listener介面-->
-
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
<!--定義Listener的類名稱-->
-
</listener>
-
<!-- 防止Spring記憶體溢位監聽器 -->
-
<listener>
-
<listener-class>org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
-
</listener>
-
-
<!---------------------------------------------------servlet配置------------------------------------------------------>
-
<servlet>
<!--用來宣告一個servlet的資料 -->
-
<servlet-name>SpringMVC
</servlet-name>
<!--指定servlet的名稱-->
-
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!--指定servlet的類名稱,這裡配置了前端控制器-->
-
<init-param>
<!--用來定義引數,可有多個init-param。在servlet類中通過getInitParamenter(String name)方法訪問初始化引數 -->
-
<param-name>contextConfigLocation
</param-name>
<!--引數名稱-->
-
<param-value>classpath:spring-mvc.xml
</param-value>
<!--引數值-->
-
</init-param>
-
<load-on-startup>1
</load-on-startup>
<!--當值為正數或零時:Servlet容器先載入數值小的servlet,再依次載入其他數值大的servlet.-->
-
<async-supported>true
</async-supported>
<!--設定是否啟用非同步支援-->
-
</servlet>
-
<servlet-mapping>
<!--用來定義servlet所對應的URL-->
-
<servlet-name>SpringMVC
</servlet-name>
<!--指定servlet的名稱-->
-
<url-pattern>/
</url-pattern>
<!--指定servlet所對應的URL-->
-
</servlet-mapping>
-
-
<!-----------------------------------------------會話超時配置(單位為分鐘)------------------------------------------------->
-
<session-config>
<!--如果某個會話在一定時間未被訪問,則伺服器可以扔掉以節約記憶體-->
-
<session-timeout>120
</session-timeout>
-
</session-config>
-
<!---------------------------------------------------MIME型別配置 ------------------------------------------------------>
-
<mime-mapping>
<!--設定某種副檔名的檔案用一種應用程式來開啟的方式型別,當該副檔名檔案被訪問的時候,瀏覽器會自動使用指定應用程式來開啟-->
-
<extension>*.ppt
</extension>
<!--副檔名名稱-->
-
<mime-type>application/mspowerpoint
</mime-type>
<!--MIME格式-->
-
</mime-mapping>
-
<!---------------------------------------------------歡迎頁面配置 ------------------------------------------------------>
-
<welcome-file-list>
<!--定義首頁列單.-->
-
<welcome-file>/index.jsp
</welcome-file>
<!--用來指定首頁檔名稱.我們可以用<welcome-file>指定幾個首頁,而伺服器會依照設定的順序來找首頁.-->
-
<welcome-file>/index.html
</welcome-file>
-
</welcome-file-list>
-
<!---------------------------------------------------配置錯誤頁面------------------------------------------------------>
-
<error-page>
<!--將錯誤程式碼(Error Code)或異常(Exception)的種類對應到web應用資源路徑.-->
-
<error-code>404
</error-code>
<!--HTTP Error code,例如: 404、403-->
-
<location>error.html
</location>
<!--用來設定發生錯誤或異常時要顯示的頁面-->
-
</error-page>
-
<error-page>
-
<exception-type>java.lang.Exception
</exception-type>
<!--設定可能會發生的java異常型別,例如:java.lang.Exception-->
-
<location>ExceptionError.html
</location>
<!--用來設定發生錯誤或異常時要顯示的頁面-->
-
</error-page>
-
</web-app>
二 spring-mvc.xml
需要實現基本功能的配置
1 配置 <mvc:annotation-driven/>
2 配置 <context:component-scan base-package="com.springmvc.controller"/> //配置controller的注入
3 配置檢視解析器
<mvc:annotation-driven/> 相當於註冊了DefaultAnnotationHandlerMapping(對映器)和AnnotationMethodHandlerAdapter(介面卡)兩個bean.即解決了@Controller註解的使用前提配置。
context:component-scan 對指定的包進行掃描,實現註釋驅動Bean定義,同時將bean自動注入容器中使用。即解決了@Controller標識的類的bean的注入和使用。
-
<?xml version="1.0" encoding="UTF-8"?>
-
<beans xmlns="http://www.springframework.org/schema/beans"
-
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
-
xmlns:aop=
"http://www.springframework.org/schema/aop"
-
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
-
xmlns:context=
"http://www.springframework.org/schema/context"
-
xmlns:tx=
"http://www.springframework.org/schema/tx"
-
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
-
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
-
http://www.springframework.org/schema/tx
-
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
-
http://www.springframework.org/schema/aop
-
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
-
http://www.springframework.org/schema/context
-
http://www.springframework.org/schema/context/spring-context-4.1.xsd
-
http://www.springframework.org/schema/mvc
-
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-
<!-- 1、配置對映器與介面卡 -->
-
<mvc:annotation-driven>
</mvc:annotation-driven>
-
-
<!-- 2、檢視解析器 -->
-
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
-
<span style="white-space:pre">
</span>
<!-- 字首和字尾 -->
-
<property name="prefix" value="/"/>
-
<property name="suffix" value=".jsp"/>
-
</bean>
-
-
<!-- 3、自動掃描該包,使SpringMVC認為包下用了@controller註解的類是控制器 -->
-
<context:component-scan base-package="com.rhzh.controller"/>
-
</beans>
三 spring-mybatis.xml
需要實現基本功能的配置
1 配置 <context:component-scan base-package="com.rhzh"/> //自動掃描,將標註Spring註解的類自動轉化Bean,同時完成Bean的注入
2 載入資料資源屬性檔案
3 配置資料來源 三種資料來源的配置方式 http://blog.csdn.net/yangyz_love/article/details/8199207
4 配置sessionfactory
5 裝配Dao介面
6 宣告式事務管理
7 註解事務切面
-
<?xml version="1.0" encoding="UTF-8"?>
-
<beans xmlns="http://www.springframework.org/schema/beans"
-
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
-
xmlns:aop=
"http://www.springframework.org/schema/aop"
-
xmlns:context=
"http://www.springframework.org/schema/context"
-
xmlns:tx=
"http://www.springframework.org/schema/tx"
-
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
-
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
-
http://www.springframework.org/schema/tx
-
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
-
http://www.springframework.org/schema/aop
-
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
-
http://www.springframework.org/schema/context
-
http://www.springframework.org/schema/context/spring-context-4.1.xsd">
-
<!--1 自動掃描 將標註Spring註解的類自動轉化Bean-->
-
<context:component-scan base-package="com.rhzh" />
-
<!--2 載入資料資源屬性檔案 -->
-
<bean id="propertyConfigurer"
-
class=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-
<property name="location" value="classpath:jdbc.properties" />
-
</bean>
-
<span style="white-space:pre">
<!-- 3 配置資料來源 -->
</span>
-
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
-
destroy-method=
"close">
-
<property name="driverClassName" value="${driver}" />
-
<property name="url" value="${url}" />
-
<property name="username" value="${username}" />
-
<property name="password" value="${password}" />
-
<!-- 初始化連線大小 -->
-
<property name="initialSize" value="${initialSize}">
</property>
-
<!-- 連線池最大數量 -->
-
<property name="maxActive" value="${maxActive}">
</property>
-
<!-- 連線池最大空閒 -->
-
<property name="maxIdle" value="${maxIdle}">
</property>
-
<!-- 連線池最小空閒 -->
-
<property name="minIdle" value="${minIdle}">
</property>
-
<!-- 獲取連線最大等待時間 -->
-
<property name="maxWait" value="${maxWait}">
</property>
-
</bean>
-
<!-- 4 配置sessionfactory -->
-
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-
<property name="dataSource" ref="dataSource" />
-
<!-- 自動掃描mapping.xml檔案 -->
-
<property name="mapperLocations" value="classpath:com/rhzh/mapping/*.xml">
</property>
-
</bean>
-
<!-- 5 裝配dao介面 -->
-
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
-
<property name="basePackage" value="com.rhzh.dao" />
<!-- DAO介面所在包名,Spring會自動查詢其下的類 -->
-
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">
</property>
-
</bean>
-
<!-- 6、宣告式事務管理 -->
-
<bean id="transactionManager"
-
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager">
-
<property name="dataSource" ref="dataSource" />
-
</bean>
-
<!-- 7、註解事務切面 -->
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<pre name="code" class="html">
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
下面是需要引入的兩個資源屬性檔案:
jdbc.properties
相關推薦
ssm中xml介紹
這幾天一直在整合SSM框架,雖然網上有很多已經整合好的,但是對於裡面的配置檔案並沒有進行過多的說明,很多人知其然不知其所以然,經過幾天的搜尋和整理,今天總算對其中的XML配置檔案有了一定的瞭解,所以拿出來一起分享一下,希望有不足的地方大家批評指正~
ssm中xml檔案中自動提示
設定xml 檔案的程式碼提示功能 開啟Eclipse 依次選擇Window > Preferences > Xml > Editor > Content Assist > Auto activation >&nb
ssm中整合Mybatis可以掃描到放在mapper下面的xml文件的方法
spa 兩種 clas direct style rec 文件 cto map 解決方法有兩種: 1、把*Mapper.xml文件放到resource文件夾下管理 2、pom配置一下編譯xml文件 <resources>
idea+maven+Struts2 之struts.xml中標籤介紹
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
SSM 生成mapper中xml檔案:未能解析對映資源:“檔案巢狀異常
錯誤日記我就網上隨便找個貼著: 錯誤一: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path res
SSM 生成mapper中xml文件:未能解析映射資源:“文件嵌套異常
file except cat info lse tin 未能 builder pan 錯誤日記我就網上隨便找個貼著: 錯誤一: org.springframework.beans.factory.BeanCreationException: Error creating
SSM中進行註解式和XML配置式事務管理
場景 前面實現SSM簡單整合以及CRUD參照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85161018 SSM中配置事務管理所需jar包: https://download.csdn.net/downloa
cocos2d-x 中XML解析與數據存儲
lba false 網上 unsigned failed popu new ccm cfile 一不小心就玩了一周的遊戲了。哎。玩的時候時間過得總是這麽快。。。 於是今天決定看一下之前不怎麽非常熟悉的XML;(之前做遊戲時數據的儲存用到過XML,但這塊是還有一個同事在做
ssm中從頁面到controller和數據庫出現亂碼問題的解決
亂碼問題 數據 ebo content ont pos mysq url work 1.確保項目編碼為utf8,點擊項目右鍵,點擊properties 2.確保數據庫編碼為utf8,以MySQL為例,可到mysql目錄下,my.ini文件中修改後,重啟mysql服務
SSM中excel的導出以及poi的使用
app nds flush getc tor clas contain form response 首先,這是我對自己的需求而使用的邏輯,若有可以完美的地方方便告訴下小白。 MAVEN <dependency> <groupI
Android中XML文件的序列化生成與解析
eval test director 南海 attribute trac cli found dir 首先,我把Person的實體類 package net.loonggg.test; public class Person { privat
spring---aop(6)---Spring AOP中ProxyFactoryBean介紹
except trace col fine erl 參數 owa per face 寫在前面 這篇文章裏面就要說說Spring自己的AOP,搞清楚哪種方式是Spring自己實現的AOP,哪種方式是Spring引入aspectj的AOP。 簡單例子 Spring
java 中xml轉換為json對象
xml轉換 serial () hid cti mave tostring code ace 1、前提須要jar包: json-lib-2.4-jdk15.jar 和 xom-1.2.5.jar ,maven 倉庫: net.sf.jso
C# Asp.net中xml串與對象互相轉換
try res return class 類型 mls log throw XML public class XmlUtil { #region 反序列化 /// <summary> /// 將XML字符
【Visual Studio】Visual C# 中XML註釋的使用(含註釋在開發時顯示換行)
title visual toc sum .net art detail 段落 結構 為函數方法註釋說明要用到 xml 語句 <summary> 段落說明 </summary> 、<para> 新段示例說明 </para>、&
Java中XML文件的讀取與寫入
讀取 聯系 過程 樹形 樹形結構 java 以及 ade 文件的 表現:以 “.xml”為文件擴展名的文件; 存儲:樹形結構; 用途:存儲以及傳遞信息;利用相同的XML文件將不同的系統聯系起來; 在Java程序中如何獲取XML文件的內容? 在Java程序中讀取XML文
python之路_day70_django中cookie介紹
其中 模板語言 請求 tabpanel role pytho con sed signed 一、django模板系統 1、母板 為其他子模板文件所共有的內容文件,各子模板的不同部分通過模板語言占位。註意:我們通常會在母板中定義頁面專用的CSS塊和JS塊,方便子頁面替換,
Django中ORM介紹和字段及字段參數
時也 特殊 nothing duration sys cal 概念 目錄 gre Object Relational Mapping(ORM) ORM介紹 ORM概念 對象關系映射(Object Relational Mapping,簡稱ORM)模式是一種為了解決面向
C++中STL介紹
沒有 添加數據 pan swap ring 不同之處 結果 allocator 新的 轉載自:https://blog.csdn.net/hhu1506010220/article/details/51971642 介紹 這篇文章的目的是為了介紹std::vector,如何
SSM的XML和WEB.XML的配置
erl 視圖 核心 contex select 3.0 agg oct eth 顯示層(handler/controller): request請求到springmvc的前端控制器,從處理器映射器找相應的handler(用@RequestMapping(" ")標註,