mybatis的classpath

问题描述:

环境:Spring+SpringMVC+Mybatis,Maven构建 
异常:Install时,

<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">[org<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.springframework</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.test</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.context</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.TestContextManager</span>]Caught exception while allowing TestExecutionListener [org<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.springframework</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.test</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.context</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.web</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.ServletTestExecutionListener</span><span class="hljs-localvars" style="box-sizing: border-box;">@4</span>a4038e2] to prepare test instance [sy<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.test</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.TestMybatis</span><span class="hljs-localvars" style="box-sizing: border-box;">@6</span>e030872]
<span class="hljs-label" style="box-sizing: border-box;">java.lang.IllegalStateException:</span> Failed to load ApplicationContext</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

起初一眼认定 ,测试用例TestMybatis里面的spring.xml路径配置错了。 
于是你来我往聊了半天,没说出个所以然。再加上对maven不是非常熟悉,于是去看了看maven方面spring.xml配置文件的路径问题,发现应该是对的。 
又问: service注解写了没啊?scan service的spring xml文件是哪个啊,有问有给进去啊?都没问题。 
这下有点摸不着头脑了。

思索一小会儿,让其把完整异常发来。打开文件的瞬间一万个尼玛飞过。 
大哥,你TM发异常能发完整不? 
你可知道这会整死人不? 
这里写图片描述

<code class="hljs applescript has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">[org.springframework.test.context.TestContextManager]Caught exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>a4038e2] <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> prepare test instance [sy.test.TestMybatis@<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6e030872</span>]
java.lang.IllegalStateException: Failed <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> load ApplicationContext
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">157</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">103</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">73</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">313</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">211</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.</span>runReflectiveCall(SpringJUnit4ClassRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">288</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.internal.runners.model.ReflectiveCallable.<span class="hljs-command" style="box-sizing: border-box;">run</span>(ReflectiveCallable.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">284</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">231</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">88</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.runners.ParentRunner$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.</span><span class="hljs-command" style="box-sizing: border-box;">run</span>(ParentRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">238</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.runners.ParentRunner$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.</span>schedule(ParentRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">63</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">236</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.runners.ParentRunner.access$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">000</span>(ParentRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">53</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.runners.ParentRunner$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.</span>evaluate(ParentRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">229</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">61</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">71</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.junit.runners.ParentRunner.<span class="hljs-command" style="box-sizing: border-box;">run</span>(ParentRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">309</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<span class="hljs-command" style="box-sizing: border-box;">run</span>(SpringJUnit4ClassRunner.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">174</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">35</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">146</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">97</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">57</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">43</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> java.lang.reflect.Method.invoke(Method.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">601</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">103</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> com.sun.proxy.$Proxy0.invoke(Unknown Source)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">145</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">87</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">69</span>)
Caused <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span>: org.springframework.beans.factory.BeanCreationException: Error creating bean <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">with</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> 'userService': Injection <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> autowired dependencies failed; nested exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> org.springframework.beans.factory.BeanCreationException: Could <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> autowire method: public void sy.service.UserServiceImpl.setUserMapper(sy.dao.UserMapper); nested exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> type [sy.dao.UserMapper] found <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> dependency: expected <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> least <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> bean which qualifies <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">as</span> autowire candidate <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> this dependency. Dependency annotations: {}
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">with</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> 'userRoleMapper' defined <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> <span class="hljs-type" style="box-sizing: border-box;">file</span> [U:\Spring\testmybatis\target\classes\sy\dao\UserRoleMapper.<span class="hljs-type" style="box-sizing: border-box;">class</span>]: Cannot resolve <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">reference</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> bean 'sqlSessionFactory' <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> setting bean <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">property</span> 'sqlSessionFactory'; nested exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> org.springframework.beans.factory.BeanCreationException: Error creating bean <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">with</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> 'sqlSessionFactory' defined <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> <span class="hljs-type" style="box-sizing: border-box;">class</span> path resource [spring-mybatis.xml]: Initialization <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> bean failed; nested exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> org.springframework.beans.TypeMismatchException: Failed <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> convert <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">property</span> value <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> type 'java.lang.String' <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> required type 'org.springframework.core.io.Resource[]' <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">property</span> 'mapperLocations'; nested exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> java.lang.IllegalArgumentException: Could <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> resolve resource location pattern [classpath:sy/mapping/*.xml]: <span class="hljs-type" style="box-sizing: border-box;">class</span> path resource [sy/mapping/] cannot be resolved <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> URL because <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">it</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">does</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> exist</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li></ul>

class path resource [sy/mapping/] cannot be resolved to URL because it does not exist 
看完之后,立马认定还是路径不对,但是是sy/mapping/这个不对,而不是spring.xml,于是问这是什么玩意儿? 
答:mybatis配置文件。

于是索要了项目结构图: 
这里写图片描述

研究了半天,没发现啥错啊。 
于是准备在网吧整个IDE编译看看。结果破网吧的网速不到500K。谁TM在下片啊。(吐槽下:自称网咖,却浓浓的烟味)

奈何还有急事在身,于是匆忙出了网吧,去办事了。


半小时后,回到办公室,要了份项目压缩包,就Happy的跑起来了。 
研究了一会儿,没什么头绪,感觉什么都是对的。 
思来想去,算了,换个路径,不是说maven推荐resources放资源文件嘛,那就把这些mapping丢resources源文件夹下。 
Bingo!Success了。我了个去,百度了下,没这方面的情报。只有之后再研究研究了。 
这里写图片描述


收获:

其实一直对classpath这个玩意儿一知半解,迷迷糊糊的。通过这次我对它认识更深了一步。

之前的印象: 
在src目录下建个resources文件夹,丢配置文件.然后classpath:resources即可。 
然后就是WEB-INF下的会自动被读取到。

现在: 
看目录结构!source folder,和folder,还有package是有很大区别的! 
按之前的理解,MybatisMapper下的mapper写法是:classpath:main/resources/MybatisMapper/*.xml 
现在看来完全就是错误的,应该是classpath:MybatisMapper/*.xml 
意思就是我们应该是按照源文件夹下的路径来写。(如果有错误或者不足欢迎指正,本人也是在学习) 
(之后好好理解下源文件夹、文件夹、package的区别)

以及: 
项目一定要按结构来划分,资源文件不要放在代码的package里面,那样是读不到的 
(或者有方法能读到,但是肯定不如清晰的结构来得好)

其他: 
classpath:/xxx 和 classpath:xxx是一样的 
classpath:xxx 和 classpath*:xxx是不一样的,前者表示引入一个,后者表示引入多个。


其实我经常喜欢回答群里人问的问题,可能很多大神完全不屑于回答。但是对我这菜鸟来说,能在解答的过程中重新学习认识一遍。是一种很有效的学习/复习方法。而且从他人的代码/问题中能学习到很多我所没遇到的问题和知识。

想我当年高中意气风发时候,物理课从不听讲,书一直没翻过,只有等到妹子们来问我这个物理课代表课后题目的时候,我才临时抱佛脚,看一通,然后做出来给她们讲。现在看来,这方法到现在还适用啊!哈哈!所以说做题实践永远比死记硬背来的快也来的懂!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值