1. 程式人生 > >MAVEN+SPRING+MYBATIS整合常見問題

MAVEN+SPRING+MYBATIS整合常見問題

  •       最近在研究J2EE開發,中間碰到不少問題,於是寫下此文,用於記錄這個過程,併為其他與我一樣在路上的朋友提供參考,隨著時間的推移,此文將不斷補充完善
  • 通過Server檢視啟動TOMCAT提示錯誤:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

嚴重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3770)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)

造成問題的原因至今不明確,我是用STS進行開發,原想將專案拆成多個MAVEN專案,總有點問題後暫時放棄又合起來了,之後就一直這樣,什麼CLEAN啊之類的操作都試過,一直沒有解決。

從這錯誤的現象來看是因為找不到org.springframework.web.context.ContextLoaderListener這個類,這個類在WEB.XML配置引用。

碰到這個問題我首先想是不是因為中間折騰過幾次專案,造成了編譯的問題,於是執行MAVEN CLEAN,然後MAVEN INSTALL,再把SERVER刪除重新來,但是問題依舊。於是我又新建一個全新專案釋出到TOMCAT,一切正常,操作時發現有一個特點,如下圖:

圖1

圖中myproject是我出問題的專案,mytest1是我新建的測試專案,新建的專案在添加發布時多一個spring-web的JAR包依賴,於是我開啟兩個項止的.classpath,發現出問題的專案少了一句話

正常的專案如下

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
  <attributes>
   <attribute name="maven.pomderived" value="true"/>
   <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
  </attributes>
 </classpathentry>

問題專案如下

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
  <attributes>
   <attribute name="maven.pomderived" value="true"/>
  </attributes>
 </classpathentry>

於是把<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>給加上,進入開STS重新整理,然後再進入到圖1介面,這下myproject也有了spring-web引用了。

按正常的釋出流程釋出,一切正常。

  • Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [spring-mybatis.xml]: Invocation of init method failed; nested exception is java.sql.SQLException: oracle.jdbc.driver.OracleDriver
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
 ... 53 more
Caused by: java.sql.SQLException: oracle.jdbc.driver.OracleDriver
 at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:500)
 at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:382)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1612)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1553)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483)
 ... 60 more
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
 at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:494)
 ... 68 more

筆者在做一個MAVEN+SPRING+MYBATIS+ORACLE整合時碰到這個問題,單元測試SERVICE一切正常,但是釋出到TOMCAT7時出現這個錯誤。

從這個錯誤的現象來看是ORACLE驅動的OJDBC沒有一起釋出,我原來在POM.XML檔案是這麼寫的

<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc6</artifactId>
   <version>11</version>
    <scope>system</scope>
   <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath> 
  </dependency>

其實這個問題非常明顯,原因就是通過這樣SYSTEMPATH方式引用造成的,其實MAVEN可以引用本地JAR包,但需要自己去單獨釋出,為了省事,你也可以將JAR包匯入到本地庫中,方法是在MAVEN的BIN目錄下用命令列執行如下語句

mvn install:install-file -Dfile=E:\J2EE\jar\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11 -Dpackaging=jar

具體的引數內容根據自己的情況修改,執行完之後再將POM.xml中的配置改成如下內容

<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc6</artifactId>
   <version>11</version>
  </dependency>

至此問題解決。

  • Invalid classpath publish/export dependency org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7. The associated classpath container cannot be included in the published/exported module.portal-webP/portal-webClasspath Dependency Validator Message

這個問題的出現是因今天在建立MAVEN多模組專案,中間用過一次MAVEN -->Update projects ...的操作,然後就出現。

 出現這個錯誤後如果仍然釋出,啟動TOMCAT也將如下錯誤

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

仔細一看跟本文的第一個問題的症狀非常相似,參照第一個問題的方式未能解決。隨後我拿著一個正常的MAVEN專案開啟專案屬性介面,發現出問題的專案有一處配置不對,通過修改改成正常專案一樣問題解決,具體的修改步驟如下:


在專案中點右鍵,再選擇Properties


選擇如上圖的選項,再點選ADD按鈕


選擇Java Build Path Entries


選擇唯一的MAVEN選項,完成


完成後的結果如上圖,其中我這有一個portal-core的MAVEN MODULE依賴,這個你不會有的,依照上面的步驟處理完畢問題解決。

  • Javascript檢測錯誤

 當專案引入JQuery-x.x.x.min.js後Markers視窗總是提示一語法錯誤之類的東西,雖然不影響整個開發,但是看久了也煩。對於這種東西你是沒辦法修正的,要處理只能把Javascript的檢測功能給關掉,關閉方法如下:

專案上右鍵 - Properties - Builders -JavaScript Validator去掉勾即可解決

  • Removing obsolete files from server...
    Could not clean server of obsolete files: null
    java.lang.NullPointerException


SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[ERROR] The build could not read 2 projects -> [Help 1]
[ERROR]  
[ERROR]   The project net.ntrue:portal-web:2.0.0 (E:\ntrue\platform\portal\portal-web\pom.xml) has 1 error
[ERROR]     Non-parseable POM C:\Users\Administrator\.m2\repository\net\ntrue\portal\2.0.0\portal-2.0.0.pom: Expected root element 'project' but found 'html' (position: START_TAG seen \n<html>... @2:7)  @ C:\Users\Administrator\.m2\repository\net\ntrue\portal\2.0.0\portal-2.0.0.pom, line 2, column 7 -> [Help 2]
[ERROR]  
[ERROR]   The project net.ntrue:portal-core:2.0.0 (E:\ntrue\platform\portal\portal-core\pom.xml) has 1 error
[ERROR]     Non-parseable POM C:\Users\Administrator\.m2\repository\net\ntrue\portal\2.0.0\portal-2.0.0.pom: Expected root element 'project' but found 'html' (position: START_TAG seen \n<html>... @2:7)  @ C:\Users\Administrator\.m2\repository\net\ntrue\portal\2.0.0\portal-2.0.0.pom, line 2, column 7 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/ModelParseException

這是在編寫完程式碼準備啟動TOMCAT除錯時出現的錯誤,具體原因可能是因為我手工修改過TOMCAT下的配置檔案,找了好久但沒有明確到底是哪個項修改造成的,後通過刪除TOMCAT目錄,然後重新新增SERVER解決問題。

  • 執行maven test時提示Failed tests:   myproject.TestXXXController.testList(): org/junit/Assert

開啟專案TARGET目錄下的XML報告發現錯誤原因如下

java.lang.NoClassDefFoundError: org/junit/Assert
 at net.ntrue.framework.test.JControllerBase.executeAction(JControllerBase.java:97)
 at net.ntrue.portal.controller.TestBrandController.testList(TestBrandController.java:13)
Caused by: java.lang.ClassNotFoundException: org.junit.Assert
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 ... 20 more

要說清這個問題得從MAVEN多專案的結構開始,我的專案結果是這樣的

|-Framework 公共類庫,獨立的maven 專案,有兩個用於測試用的抽象基類

|-portal

     |-portal-parent  一個MAVEN的PARENT專案,本身沒有程式邏輯,只負責公共的POM依賴定義,junit的依賴宣告也在這裡

     |-portal-web   純WEB的JSP頁面

     |-portal-core   WEB類除JSP之外的都在這裡,內部幾乎所有的類都有單元測試,包括SERVICE和CONTROLLER

在portal-core執行maven test時幾乎所有的測試用例均錯誤,後猜測可能的原因是因為加入了framework的引用,而framework裡將junit宣告為test

後將junit的宣告由portal-parent中移到portal-core專案的POM.XML中問題解決,具體原因暫沒了解透

修改後的portal-core專案POM.XML內容如下

<dependencies>
  

  <dependency>
   <groupId>net.ntrue</groupId>
   <artifactId>framework</artifactId>
   <version>1.0.0</version>
  </dependency>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.11</version>
   <scope>test</scope>
  </dependency>
 </dependencies>

  • Spring MVC JSON請求異常

異常的內容有兩段,當使用了@RequestBody時提示如下錯誤

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
 at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.readWithMessageConverters(HandlerMethodInvoker.java:645)
 at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveRequestBody(HandlerMethodInvoker.java:605)
 at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:354)
 at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:439)
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:427)
 at net.ntrue.framework.test.JControllerBase.excuteAction(JControllerBase.java:74)
 at net.ntrue.portal.webservice.TestService.TestJsonWrite(TestService.java:63)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
 at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
 at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
 at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
 at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

         使用@ResponseBody時反饋以下錯誤

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.writeWithMessageConverters(AnnotationMethodHandlerAdapter.java:1054)
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.handleResponseBody(AnnotationMethodHandlerAdapter.java:994)
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.getModelAndView(AnnotationMethodHandlerAdapter.java:943)
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
 at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:427)
 at net.ntrue.framework.test.JControllerBase.excuteAction(JControllerBase.java:74)
 at net.ntrue.portal.webservice.TestService.TestJsonWrite(TestService.java:63)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
 at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
 at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
 at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
 at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

從這兩段錯誤可以很明顯看出是不知道該用哪個CONVERT類去處理請求和響應的資料,之前認真研究過SPRING MVC,其實SPRING MVC處理這種JSON格式的傳參和返回是非常簡單的,按照書上和網上的方法嘗試幾次仍未解決,偶然發現是因為SPRING MVC的配置檔案上對於org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter這個BEAN的描述重複了,其中一個未新增MappingJacksonHttpMessageConverter的引用

錯誤時的XML配置如下

<bean id="mappingJacksonHttpMessageConverter"
  class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
  <property name="supportedMediaTypes">
   <list>
    <value>application/json; charset=UTF-8</value>
    <value>text/html;charset=UTF-8</value>
   </list>
  </property>
 </bean>
 <bean id="AnnotationMethodHandlerAdapter"
  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
 </bean>

 <!-- 啟動Spring MVC的註解功能,完成請求和註解POJO的對映 -->
 <bean
  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
  <property name="messageConverters">
   <list>
    <ref bean="mappingJacksonHttpMessageConverter" /><!-- json轉換器 -->
   </list>
  </property>
 </bean>

去掉中間的

 <bean id="AnnotationMethodHandlerAdapter"
  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
 </bean>

之後一切正常

相關推薦

MAVEN+SPRING+MYBATIS整合常見問題

      最近在研究J2EE開發,中間碰到不少問題,於是寫下此文,用於記錄這個過程,併為其他與我一樣在路上的朋友提供參考,隨著時間的推移,此文將不斷補充完善通過Server檢視啟動TOMCAT提示錯誤:java.lang.ClassNotFoundException: o

使用IDEA基於Maven搭建多模塊聚合工程(springmvc+spring+mybatis整合

utf-8 組件 json處理 con mon 博客 quick 作者 處理工具 文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關註我的微信公眾號:好好學java,獲取優質學習資源。 終於有時間搞java了,今天使用IDEA基於maven搭建了多模塊聚合工程,經過了

使用IDEA基於Maven搭建多模組聚合工程(springmvc+spring+mybatis整合

文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號:好好學java,獲取優質學習資源。 終於有時間搞java了,今天使用IDEA基於maven搭建了多模組聚合工程,經過了多番嘗試,終於成功啦! 注意:這裡是在原作者的基礎上改進的版

SpringMVC Spring MyBatis整合配置文件

isp xmlns manage where spl return 創建 lec common 1、spring管理SqlSessionFactory、mapper 1)在classpath下創建mybatis/sqlMapConfig.xml <?xml vers

.Spring+Mybatis整合

ont 4.3 cati 實例 users frame 數據庫 text manager 一:聲明了四個配置文件 1.spring-Mybatis的配置文件 <?xml version="1.0" encoding="UTF-8"?><beans

解決spring mybatis 整合後mapper接口註入失敗

child nec ddc creates err list xml文件 tran popu spring整合mybatis,在dao層我們只寫一個接口,配置相應的*mapper.xml文件, 報如下錯誤: 1 org.springframework.beans.fac

mybatis學習(十一)——springmvc++spring+mybatis整合

transacti servlet 自動註入 為我 reac content attribute 定義 property 做任何一個項目都以一個需求,這裏先定義一下需求:利用三大框架查詢酒店列表。 一、搭建開發環境 1、創建一個web項目 我這裏用的是 jdk1.8+to

spring-mybatis整合的dao單元測試

app iba 不一致 映射 xxx perm destroy 3.1 那種 在做spring-mybatis整合項目時對Dao所對應的 XXX.xml進行單元測試。整合時是spring和mybatis的整合,所以mybatis.xml文件就沒有了, 對應的配置

spring-mybatis整合項目 異常處理

pat 失敗 encoding endpoint per ans 分隔 ctp 技術分享 java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMet

spring-mybatis整合異常

AR 原因 警告 jar source mave idea bug AC Failed to read artifact descriptor for XXXXXX:jar:XXXX.RELEAS 原因是maven的本地倉庫沒有設置好。在別處拷貝過來的項目會有自己的倉庫位置

spring+mybatis整合(二)

一、applicationContext.xml配置 <!-- 設定掃描類 --><context:component-scan base-package="com.xxx.xxx"></context:component-scan> <bean id="data

SpringMVC+Spring+Mybatis整合應用(2)

1. 包裝型別pojo物件中pojo屬性引數繫結    1. 對於屬性都是簡單型別的pojo類     如果需要將請求中的引數繫結到該pojo物件形參中,只需要保證請求中攜帶的key/value格式的引數中的key值與pojo類中的

SpringMVC+Spring+Mybatis整合應用(3)

1. 實現圖片上傳 需求:在使用者註冊頁面實現上傳圖片作為使用者頭像     1. springmvc中對多部件型別請求資料解析:在頁面form中提交enctype="multipart/form-data"的資料時,需要springmvc對multipart型別的資料進行

2.SpringMVC+Spring+Mybatis整合(2) 配置web.xml,spring-servlet.xml,applicationContext.xml

web spring-servlet 在 webapp WEB-INF下 applicationContext 在resource資料夾下 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:

SpringMvc+Spring+Mybatis 整合

1.導jar包 2.整合mybatis+Spring ①建表 ②dao ③spring.xml <!-- 開啟註解掃描 --><!-- service 位置 --> <context:component-scan base-package="com.ya

spring-mybatis整合

maven專案: 配置檔案 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns

ztree與springmvc+spring+mybatis整合實現增刪改查

 在springmvc+spring+mybatis裡整合ztree實現增刪改查,上一篇已經寫了demo,下面就只貼出各層實現功能的程式碼: Jsp頁面實現功能的js程式碼如下: <script> //用於捕獲分類編輯按鈕的 click 事件

Spring+SpringMVC+MyBatis入門實踐(4)Spring + MyBatis整合

本過程基於Mybatis入門進行, 所以在開始之前希望你建庫,表結構,Mybatis的常用用法都已經熟練了。 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http

spring-mybatis整合的基本步驟

通過幾天spring的學習,我將spring-mybatis整合的步驟總結如下: 因為之前已經用User作為了學習,現在用另一個供應商表Provider為例: 首先,之前的專案目錄結構如下: 程式執行結果如下: 下面重新用provider做一下查詢: 目錄結

Spring框架基礎(三)Spring+Mybatis整合

一,配置檔案 <!-- 開啟自動掃描 --> <context:component-scan base-package="com.lanou.test.*" /> <!-- 資料連線池 --> <!-- 使用的是阿里的連線池,db