日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合)

發布時間:2024/4/17 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

依賴導入以及框架整合

(1).打開項目的pom.xml文件,聲明依賴

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.hafiz.www</groupId><artifactId>ssm</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>ssm Maven Webapp</name><url>http://maven.apache.org</url><properties><spring.version>4.2.6.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis-spring.version>1.2.2</mybatis-spring.version><servlet.version>3.0.1</servlet.version><druid.version>1.0.13</druid.version><jsp-api.version>2.1</jsp-api.version><jstl.version>1.2</jstl.version><mysql.connector.version>5.1.38</mysql.connector.version><aspectj.version>1.8.6</aspectj.version><commons.fileupload.version>1.3.1</commons.fileupload.version><jackson.version>2.5.4</jackson.version><log4j.version>1.2.17</log4j.version><slf4j.version>1.7.7</slf4j.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version><type>jar</type></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis-spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>${aspectj.version}</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons.fileupload.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${servlet.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.connector.version}</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency></dependencies><build><finalName>ssm</finalName></build> </project>

(2).在項目的resources文件夾下新建jdbc.properties文件

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.20.196:3306/dev?useUnicode=true&characterEncoding=UTF-8 jdbc.username=root jdbc.password=123456 jdbc.maxActive=30 jdbc.minIdle=5

(3).在項目的resources文件夾下新建log4j.properties文件

### set log levels ###
log4j.rootLogger = ERROR , stdout , D , E , F

### 輸出到控制臺 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %l-%t:%r ] - [ %X{ip} %X{userName}] %m%n

## 輸出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.DatePattern = '.'yyyyMMdd
log4j.appender.D.File = logs/wap/warn.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = WARN
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.encoding=UTF-8
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %l-%t:%r ] - [ %X{ip} %X{userName}] %m%n

## 保存異常信息到單獨文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = logs/wap/error.log
log4j.appender.E.DatePattern = '.'yyyyMMdd
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.encoding=UTF-8
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %l-%t:%r ] - [ %X{ip} %X{userName}] %m%n

## 保存異常信息到單獨文件 ###
log4j.appender.F = org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.File = logs/wap/debug.log
log4j.appender.F.DatePattern = '.'yyyyMMdd
log4j.appender.F.Append = true
log4j.appender.F.Threshold = DEBUG
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.encoding=UTF-8
log4j.appender.F.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %l-%t:%r ] - [ %X{ip} %X{userName}] %m%n

(4).在項目的resources文件夾下新建mapper、spring、mybatis三個文件夾分別用來存放mybatis的mapper xml文件以及spring的配置文件以及mybatis的配置文件。

 

(5).在項目的resources文件夾下的mybatis文件夾下新建mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 全局配置setting,根據需要進行配置 --><!--<settings><setting name="" value=""/></settings>--><!-- 設置別名 --><typeAliases><!-- 批量進行設置別名 --><package name="com.hafiz.www.po"/></typeAliases><!-- 使用自動掃描器時,mapper.xml文件如果和mapper.java接口在一個目錄則此處不用定義mappers --><!-- <mappers><package name="com.hafiz.www.mapper" /></mappers> --></configuration>

(6).在項目的resources文件夾下的spring文件夾下新建以下xml文件并進行整合配置

  創建spring的配置集中文件spring.xml并進行以下配置

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><import resource="spring-dao.xml"/><import resource="spring-service.xml"/><import resource="spring-transaction.xml"/> </beans>

  創建spring的dao層配置文件spring-dao.xml并進行以下配置

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><!-- 加載配置文件jdbc.properties中的內容,jdbc.properties中key的命名要有一定的特殊規則 --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 配置數據源,數據庫連接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><property name="maxActive" value="${jdbc.maxActive}"/><property name="minIdle" value="${jdbc.minIdle}" /></bean><!-- 配置sqlSessionFactory交由spring進行管理 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 設置數據源引用 --><property name="dataSource" ref="dataSource"></property><!-- 加載mybatis的全局配置文件路徑 --><property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!-- 配置mapper接口掃描器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 要掃描的包的名稱,有多個包時,包名之間用半角逗號隔開 --><property name="basePackage" value="com.hafiz.www.mapper"></property><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean></beans>

  創建spring的service層配置文件spring-service.xml并進行以下配置

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><!--配置組件掃描,只掃描Controller注解之外的組件--><context:component-scan base-package="com.hafiz.www"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan></beans>

  創建spring的transaction事務相關配置文件spring-transaction.xml并進行以下配置

<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:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "><!-- 事務管理器對mybatis操作數據庫進行事務控制,spring使用jdbc的事務控制類--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- dataSource在spring-dao.xml中進行了配置 --><property name="dataSource" ref="dataSource"></property></bean><!-- 定義通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 傳播行為 --><tx:method name="save*" propagation="REQUIRED"/><tx:method name="insert*" propagation="REQUIRED"/><tx:method name="create*" propagation="REQUIRED"/><tx:method name="delete*" propagation="REQUIRED"/><tx:method name="update*" propagation="REQUIRED"/><tx:method name="find*" propagation="SUPPORTS"/><tx:method name="get*" propagation="SUPPORTS"/><tx:method name="select*" propagation="SUPPORTS"/></tx:attributes></tx:advice><!-- 定義aop切面 --><aop:config><aop:advisor advice-ref="txAdvice" pointcut="execution(* com.hafiz.www.service.impl.*.*(..))"/></aop:config> </beans>

  創建springMvc的配置文件spring-mvc.xml并進行以下配置

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><!-- 配置視圖解析器解析jsp視圖,默認使用jstl標簽,classpath下得有jstl包--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 配置jsp文件的前綴和后綴 --><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--配置注解控制器映射器--><!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>--><!--配置注解控制器映射器--><!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>--><!-- 使用mvc:annotation-driven代替上邊的 注解控制器適配器 和 注解控制器映射器 配置,mvc:annotation-driven默認加載了很多參數綁定方法,比如:json轉換器就默認加載了,如果使用mvc:annotation-driven就不用再進行上面RequestMappingHandlerAdapter和RequestMappingHandlerMapping的配置實際開發過程中往往使用mvc:annotation-driven--><!-- 掃描注解驅動,如:@Required, @Autowired, @PostConstruct, @PersistenceContext, @ Resource, @ PreDestroy.... --><!--<context:annotation-config />--><!-- 掃描mvc注解驅動,如:@RequestMapping, @Controller,@RequestBody,@ResponseBody.... --><mvc:annotation-driven /><!-- 配置組件掃描,springmvc容器中只掃描Controller注解 --><context:component-scan base-package="com.hafiz.www" use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 配置全局異常處理器只要實現了HandlerExceptionResolver接口就是全局異常處理器類,每個系統只能有一個全局異常處理器類--><!--<bean class="com.hafiz.www.exception.CustomExceptionResolver"/>--><!-- 配置文件上傳 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 設置上傳文件的最大尺寸為5MB --><property name="maxUploadSize"><value>5242880</value></property></bean><!-- 配置靜態資源文件的解析,包括js、css、img.... --><mvc:resources location="/js/" mapping="/js/**"/><!-- /**表示攔截文件夾下的所有文件,包括子路徑 --><mvc:resources location="/css/" mapping="/css/**"/><mvc:resources location="/img/" mapping="/img/**"/></beans>

(6).在web.xml文件中配置spring listener 和springmv的DispatcherServlet以及log4j listener以及配置文件路徑和POST 亂碼Filter

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"><display-name>pegasus-scm</display-name><!-- param --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring.xml</param-value></context-param><!-- 配置log4j配置文件路徑 --><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param><!-- 60s 檢測日志配置 文件變化 --><context-param><param-name>log4jRefreshInterval</param-name><param-value>60000</param-value></context-param><!-- EncodingFilter --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- listener --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener><!-- 配置Log4j監聽器 --><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><!-- spring mvc --><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><description>spring mvc config file</description><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list> </web-app>

(7).在webapp下面創建js、css、img三個文件夾分別用來存放網站的腳本文件、樣式文件以及圖片文件

 

至此,Spring、SpringMvc、Mybatis的整合完畢!

?

總結

以上是生活随笔為你收集整理的Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。