• 关于

    spring 对象引用报错??报错

    的搜索结果

问题

程序员报错QA大分享(1)

问问小秘 2020-06-18 15:46:14 1684 浏览量 回答数 2

问题

spring 对象引用报错?

a123456678 2019-12-01 20:21:29 779 浏览量 回答数 1

问题

spring 对象引用报错??报错

爱吃鱼的程序员 2020-06-22 21:10:12 0 浏览量 回答数 1

问题

Struts2和Spring整合中的Action是由谁创建的,有什么区别?

小旋风柴进 2019-12-01 20:07:28 1007 浏览量 回答数 1

问题

【精品问答】Java技术1000问(1)

问问小秘 2019-12-01 21:57:43 39926 浏览量 回答数 17

回答

你看你的异常信息,空指针异常, getcount1()-->  System.out.println(bean); bean是null, System.out.println(bean.getcount()); -->bean .getcount()空指针异常 这个就是我主要想问的原因,按道理来说他应该去查询selectcount(1)fromdual返回的结果值吧 你的dao上面没有加注解  @Repository publicinterfaceTestDao{     publicintgetcount();回复 @minidai:同问我也报的一样的错误1111111111importorg.springframework.stereotype.Repository;@RepositorypublicinterfaceTestDao{publicintgetcount();}加了之后也是一样的效果,还是nullhttp://mybatis.org/spring/zh/sample.html上面那个是中文文档说明,并且该连接有官网实例,建议通过该实例进行学习。先将官网实例跑通,再自行搭建环境 System.out.println(new TestServiceImpl().getcount1()); 这里new一个serviceImpl?? ????应该不能这样吧? 回复 @minidai:解决就好看看我下面的评论,谢谢回复 @minidai:注入,跟serviceImpl引入dao应该一样的吧?那我应该怎么通过前台来调用这个service呢 没仔细看,但是发现你吧xml放到了java的包里面,请移到resource里面,因为maven结构的java包只编译Java文件,其他都放到resource里面你好,我将XML文件移动到了resource下面的mybatis/mapper里面,然后配置文件里面写的是classpath:mybatis/mapper/*.xml,但是他却查找的是C:\Users\ADMINI~1\AppData\Local\Temp\0-appmanager\WEB-INF\classes\mybatis\mapper\TestDaoMapper.xml @Autowired TestServiceImplte ; @RequestMapping("/demo2") publicStringtest2(){ System.out.println("demo2"); System.out.println(te.getcount1()); return"demo";  } 我修改为这样就可以调用了,,不过又出现一个问题 我配置的mapper文件命名是classpath:appmanager/dao/impl/*.xml 但是他去找的Theerrormayexistinfile[C:\Users\ADMINI~1\AppData\Local\Temp\0-appmanager\WEB-INF\classes\appmanager\dao\impl\TestDaoMapper.xml] 这里我就不是很明白了,这是编译的问题还是我设置的问题呢。 @minidai你eclipse里的server设置看过了么?回复 @杨延庆:还请你指教一下,在哪里看service设置输出目录回复 @minidai:那就要看你的项目了,你的server输出设定是不是放到Temp目录下了回复 @杨延庆:但是其他的spring配置文件也是这样写的,就是直接在项目下的classpath里面去找的,就是这个mapper文件不是你build的目录是WEB-INF,那当然classpath到这个目录下去找Mapper.xmlw文件 谢谢各位,,我已经找到原因了,,最开始的问题是我使用service的时候使用方式错了, 正确的调用应该是 @AutowiredTestServiceImplte;@RequestMapping("/demo2")publicStringtest2(){System.out.println(te.getcount1());return"demo";} 后来的查询mapper问题我把数据库的账号密码直接输入在配置文件之后就没出现了,现在已经全部链接通畅了,谢谢各位 引用来自“alexgaoyh”的评论 System.out.println(new TestServiceImpl().getcount1()); 这里new一个serviceImpl?? ????应该不能这样吧? 引用来自“梦想沙漏”的评论 没仔细看,但是发现你吧xml放到了java的包里面,请移到resource里面,因为maven结构的java包只编译Java文件,其他都放到resource里面恩,当时没仔细看,你new一个对象没有通过spring的容器管理,是无法完成自动注入的。不过你已经找到原因就ok了

爱吃鱼的程序员 2020-06-10 10:19:01 0 浏览量 回答数 0

回答

publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainfilterChain)throwsIOException,ServletException{//127.0.0.1:8080/pro/wiki/我的主页/我的子页面/我的页面.html?Edit?abcsfsldfsk//处理.....Stringidpath=((HttpServletRequest)request).getServletPath();StringfileString=idpath;//前缀处理?文件系统目录处理!!暂时不处理前缀//由于/wiki/本身Filefile=newFile(fileString);if(fileString.startsWith("/wiki/")){//如果存在就当是返回文件内容if(file.exists()){FileCopyUtils.copy(newFileSystemResource(fileString).getInputStream(),response.getOutputStream());}else{System.out.println("没有这个文件.....");response.getWriter().write("{\"state\":\"false\",\"msg\":\"没有找到文件\"}");}}else{//如果没处理就返回到spingMVCrequest.getRequestDispatcher(idpath).forward(request,response);} } <filter><filter-name>wikiFilter</filter-name><filter-class>wiki.servletFilter.wikiFilter</filter-class></filter><filter-mapping><filter-name>wikiFilter</filter-name><url-pattern>*.html</url-pattern></filter-mapping> 虽然这样实现了效果.......但是....性能好低ca,格式全乱了....只看到你引用了servlet-name,而servlet对象声明了吗?有的,但是出现了循环调用,内存益处 不明白为什么为什么你springmvc要处理  127.0.0.1:8080/filetype.jpg.file.txt.html?你希望怎么处理? 如果是要拦截的话不是用这种servlet是用过滤器 servlet  filter 还是试试过滤器吧 从Iteye看到一篇博客楼主可以参考 SpringMVC访问静态资源的三种方式   如何你的DispatcherServlet拦截*.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。  目的:可以正常访问静态文件,不要找不到静态文件报404。   方案一:激活Tomcat的defaultServlet来处理静态文件 <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>*.css</url-pattern> </servlet-mapping>   要配置多个,每种文件配置一个    要写在DispatcherServlet的前面,让defaultServlet先拦截,这个就不会进入Spring了,我想性能是最好的吧。 Tomcat,Jetty,JBoss,andGlassFish 默认Servlet的名字--"default" GoogleAppEngine默认Servlet的名字--"_ah_default" Resin默认Servlet的名字--"resin-file" WebLogic默认Servlet的名字 --"FileServlet" WebSphere 默认Servlet的名字--"SimpleFileServlet" 方案二:在spring3.0.4以后版本提供了mvc:resources  <mvc:resources的使用方法: <!--对静态资源文件的访问--> <mvc:resourcesmapping="/images/**"location="/images/"/>  /images/**映射到ResourceHttpRequestHandler进行处理,location指定静态资源的位置.可以是webapplication根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period可以使得静态资源进行webcache   如果出现下面的错误,可能是没有配置<mvc:annotation-driven/>的原因。  报错WARNING:NomappingfoundforHTTPrequestwithURI[/mvc/user/findUser/lisi/770]inDispatcherServletwithname'springMVC' 使用<mvc:resources/>元素,把mapping的URI注册到SimpleUrlHandlerMapping的urlMap中, key为mapping的URIpattern值,而value为ResourceHttpRequestHandler, 这样就巧妙的把对静态资源的访问由HandlerMapping转到ResourceHttpRequestHandler处理并返回,所以就支持classpath目录,jar包内静态资源的访问. 另外需要注意的一点是,不要对SimpleUrlHandlerMapping设置defaultHandler.因为对staticuri的defaultHandler就是ResourceHttpRequestHandler, 否则无法处理staticresourcesrequest. 方案三,使用<mvc:default-servlet-handler/> 本文原始链接:http://unmi.cc/spring-mvc-access-static-resources-jpgjscss,来自:隔叶黄莺UnmiBlog <mvc:default-servlet-handler/> 会把"/**"url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler处理并返回. DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet. 补充说明:多个HandlerMapping的执行顺序问题: DefaultAnnotationHandlerMapping的order属性值是:0 <mvc:resources/>自动注册的SimpleUrlHandlerMapping的order属性值是:2147483646 <mvc:default-servlet-handler/>自动注册的SimpleUrlHandlerMapping的order属性值是:2147483647 spring会先执行order值比较小的。当访问一个a.jpg图片文件时,先通过DefaultAnnotationHandlerMapping来找处理器,一定是找不到的,我们没有叫a.jpg的Action。再按order值升序找,由于最后一个SimpleUrlHandlerMapping是匹配"/**"的,所以一定会匹配上,再响应图片。 访问一个图片,还要走层层匹配。真不知性能如何?改天做一下压力测试,与Apache比一比。 最后再说明一下,如何你的DispatcherServlet拦截*.do这样的URL,就不存上述问题了。 springmvc配置好了之后不应该出你说的问题吧

爱吃鱼的程序员 2020-06-14 16:59:59 0 浏览量 回答数 0

回答

把你的redis.xml贴出来看看,,,好像是你的某个配置文件应该是 Int,你配置成了3000@13000导致报错了。回复 @丽宝宝:你这个配置没毛病。。。问题不在这里。我在我本地按照你的配置,是可以跑成功的!redis.xml贴出来了,麻烦看看 更新jedis到最新版本。程序和Linux的服务器都需要更新吗 redis.xml如下  <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsd"><!--连接池配置--><beanname="genericObjectPoolConfig"class="org.apache.commons.pool2.impl.GenericObjectPoolConfig"><propertyname="maxWaitMillis"value="-1"/><propertyname="maxTotal"value="1000"/><propertyname="minIdle"value="8"/><propertyname="maxIdle"value="100"/></bean><beanid="jedisCluster"class="com.redis.util.JedisClusterFactory"><propertyname="addressConfig"><value>classpath:connect-redis.properties</value></property><propertyname="addressKeyPrefix"value="address"/><!--属性文件里key的前缀--><propertyname="timeout"value="300000"/><!--代表集群有几台redis--><propertyname="maxRedirections"value="6"/><propertyname="genericObjectPoolConfig"ref="genericObjectPoolConfig"/></bean></beans> connect-redis.properties如下 address1=192.168.232.140:1000address2=192.168.232.140:1001address3=192.168.232.140:2000address4=192.168.232.140:2001address5=192.168.232.140:3000address6=192.168.232.140:3001 集群工厂类,执行以下代码时报错 jedisCluster=newJedisCluster(jedisClusterNode,timeout,maxRedirections,genericObjectPoolConfig); packagecom.redis.util;importorg.apache.commons.pool2.impl.GenericObjectPoolConfig;importorg.springframework.beans.factory.FactoryBean;importorg.springframework.beans.factory.InitializingBean;importorg.springframework.core.io.Resource;importredis.clients.jedis.HostAndPort;importredis.clients.jedis.JedisCluster;importjava.util.HashSet;importjava.util.Properties;importjava.util.Set;importjava.util.regex.Pattern;/***Jedis集群工厂*/publicclassJedisClusterFactoryimplementsInitializingBean,FactoryBean<JedisCluster>{privateResourceaddressConfig;//下面变量对应springredis配置文件中的property的nameprivateJedisClusterjedisCluster;privateStringaddressKeyPrefix;privateIntegertimeout;privateIntegermaxRedirections;privateGenericObjectPoolConfiggenericObjectPoolConfig;//正则表达式匹配ip和portprivatePatternp=Pattern.compile("^.+[:]\\d{1,5}\\s*$");/***实现InitializingBean的接口,初始化的得到jedisCluster*/publicvoidafterPropertiesSet()throwsException{Set<HostAndPort>jedisClusterNode=this.parseHostAndPort();jedisCluster=newJedisCluster(jedisClusterNode,timeout,maxRedirections,genericObjectPoolConfig);System.out.println();}/***实现FactoryBean的接口*获取jedisCluster对象*/publicJedisClustergetObject()throwsException{returnjedisCluster;}/***实现FactoryBean的接口*获取jedisCluster的类型*/publicClass<?extendsJedisCluster>getObjectType(){return(jedisCluster!=null?this.jedisCluster.getClass():JedisCluster.class);}/***实现FactoryBean的接口*/publicbooleanisSingleton(){returntrue;}/***解析Jedis配置文件,看是否满足IP和端口*@return*/privateSet<HostAndPort>parseHostAndPort()throwsException{Set<HostAndPort>hostAndPorts=newHashSet<HostAndPort>();try{Propertiesproperties=newProperties();properties.load(this.addressConfig.getInputStream());for(Objectkey:properties.keySet()){//如果key不是以addressKeyPrefix的值开头,则continueif(!((String)key).startsWith(addressKeyPrefix)){continue;}//根据key从properties中取出值Stringvalus=(String)properties.get(key);//判断取出的value是否是ip和portbooleanisIPProt=p.matcher(valus).matches();if(!isIPProt){thrownewIllegalArgumentException("ip和port不合法!");}String[]ipAndPort=valus.split(":");HostAndPorthostAndPort=newHostAndPort(ipAndPort[0],Integer.parseInt(ipAndPort[1]));hostAndPorts.add(hostAndPort);}}catch(Exceptione){thrownewException("解析jedis配置文件失败!");}returnhostAndPorts;}//set方法publicvoidsetJedisCluster(JedisClusterjedisCluster){this.jedisCluster=jedisCluster;}publicvoidsetAddressKeyPrefix(StringaddressKeyPrefix){this.addressKeyPrefix=addressKeyPrefix;}publicvoidsetTimeout(Integertimeout){this.timeout=timeout;}publicvoidsetMaxRedirections(IntegermaxRedirections){this.maxRedirections=maxRedirections;}publicvoidsetGenericObjectPoolConfig(GenericObjectPoolConfiggenericObjectPoolConfig){this.genericObjectPoolConfig=genericObjectPoolConfig;}publicvoidsetAddressConfig(ResourceaddressConfig){this.addressConfig=addressConfig;}}   搜一下 3000@13000在哪。。。。这个运行才能有,没办法搜索 引用来自“亭舸翁”的评论 更新jedis到最新版本。 感谢各位的解答,问题刚刚解决了 /**   *实现InitializingBean的接口,初始化的得到jedisCluster   */  publicvoidafterPropertiesSet()throwsException{    Set<HostAndPort>jedisClusterNode=this.parseHostAndPort();    if(genericObjectPoolConfig==null){      genericObjectPoolConfig=getGenericObjectPoolConfig();    } //问题就出现在这里 //旧代码jedisCluster=newJedisCluster(jedisClusterNode,timeout,maxRedirections,genericObjectPoolConfig);    jedisCluster=newJedisCluster(jedisClusterNode,genericObjectPoolConfig);  //正确代码    System.out.println();  }

爱吃鱼的程序员 2020-06-08 09:46:47 0 浏览量 回答数 0

问题

MyBatis 整合 Spring 报: Could not find bean?400报错

爱吃鱼的程序员 2020-06-07 18:22:14 0 浏览量 回答数 1

回答

看起来是ehcache配置文件报的错。有两个可能: 1,没找到ehcache.xml 2,ehcache配置文件中缺少了某个对象的配置 重点看下第二项。纠结了很久,最后把所有的缓存配置文件放到src下面,台式机和笔记本都不报错了。匪夷所思的很,现在正常了。 不才,请大家过来看看: @红薯 @Java_lilin @微名喝喝 @喵了个咪 @缪斯的情人 @yangzhiyong @zb0423 @swanky_yao @沙漠雄鹰  @阿咪 @zhangyou1010 @SuperEric @JavaGG @丛俊龙  @liueric @lwei @024 @sunnynie @TWmelody @张英泽 @神勇小白鼠 @zb0423 @Evensunny @龙凯 @枫凌渡 @宋浩 @鉴客 @整俩硬菜 @kevinwang168 @虫虫 这个错误是 Spring的吧 Errorcreatingbeanwithname'entityManagerFactory'definedinServletContextresource[/WEB-INF/schemas/spring-core.xml]:错误挺明显了!对的,问题很明显。关键是我在台式机上没有问题,放到笔记本上有问题。我家里面的笔记本式华硕的K40和东芝的。都报这个错误,放到家里面的台式机也没有错。这就是很大的问题了。 引用来自“红薯”的答案 这个错误是 Spring的吧 你是不是配置文件有问题,看异常既有spring的也有hibernate的,应该是读取相关配置文件失败了 引用来自“缪斯的情人”的答案 你是不是配置文件有问题,看异常既有spring的也有hibernate的,应该是读取相关配置文件失败了 引用来自“FortaleOpenSource”的答案 引用来自“缪斯的情人”的答案 你是不是配置文件有问题,看异常既有spring的也有hibernate的,应该是读取相关配置文件失败了回复 @缪斯的情人:肯定是匹配的,用intellijIDEA创建项目的是侯会让你选择JDK的路径的,netbeans在安装的时候就会检测jdk的路径。其实我最疑惑的是为何台式机不报错,这个不知道是不是个问题。回复 @缪斯的情人:出来公司的是netbeans外,其他的都是jetbrainsintellijIDEA回复 @FortaleOpenSource:用什么IDE来吗,比如eclipse的编译环境complier和你的jdk版本匹配吗我觉得跟编译环境没有多大的关系,华硕笔记本装的是jdk6,东芝和台式机装的是jdk7,今天我放到公司的笔记本上也是报这个错误,公司的笔记本式联想的,win764jdk6。 <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:jpa="http://www.springframework.org/schema/data/jpa"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:cache="http://www.springframework.org/schema/cache"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://www.springframework.org/schema/data/jpahttp://www.springframework.org/schema/data/jpa/spring-jpa.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache-3.1.xsd"default-lazy-init="true"><context:property-placeholderignore-unresolvable="true"location="/WEB-INF/application.properties"/><context:component-scanbase-package="org.wb.demo"><context:exclude-filtertype="annotation"expression="org.springframework.stereotype.Controller"/></context:component-scan><!--数据源配置,使用DBCP数据库连接池--><beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><!--ConnectionInfo--><propertyname="driverClassName"value="${jdbc.driver}"/><propertyname="url"value="${jdbc.url}"/><propertyname="username"value="${jdbc.username}"/><propertyname="password"value="${jdbc.password}"/><!--ConnectionPoolingInfo--><propertyname="maxActive"value="${dbcp.maxActive}"/><propertyname="maxIdle"value="${dbcp.maxIdle}"/><propertyname="defaultAutoCommit"value="false"/><!--连接Idle一个小时后超时--><propertyname="timeBetweenEvictionRunsMillis"value="3600000"/><propertyname="minEvictableIdleTimeMillis"value="3600000"/></bean><!--JpaEntityManager配置--><beanid="entityManagerFactory"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="jpaVendorAdapter"ref="hibernateJpaVendorAdapter"/><propertyname="packagesToScan"value="org.wb.demo"/><propertyname="jpaProperties"><props><propkey="hibernate.hbm2ddl.auto">update</prop><propkey="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop><propkey="net.sf.ehcache.configurationResourceName">cache/ehcache-local.xml</prop><propkey="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop></props></property></bean><beanid="hibernateJpaVendorAdapter"class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"><propertyname="databasePlatform"><beanfactory-method="getDialect"class="org.wb.demo.db.DbUtils"><constructor-argref="dataSource"/></bean></property></bean><jpa:repositoriesbase-package="org.wb.demo"transaction-manager-ref="transactionManager"entity-manager-factory-ref="entityManagerFactory"/><beanid="transactionManager"class="org.springframework.orm.jpa.JpaTransactionManager"><propertyname="entityManagerFactory"ref="entityManagerFactory"/></bean><tx:annotation-driventransaction-manager="transactionManager"proxy-target-class="true"/><beanid="validator"class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/><cache:annotation-drivencache-manager="ehCacheManager"/><beanid="ehCacheManager"class="org.springframework.cache.ehcache.EhCacheCacheManager"><propertyname="cacheManager"ref="ehcache"/></bean><beanid="ehcache"class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"><propertyname="configLocation"value="classpath:ehcache.xml"/></bean></beans>那位大神有SSH集成ehcache的实例啊,求指教

爱吃鱼的程序员 2020-06-23 11:51:46 0 浏览量 回答数 0

回答

1.mapUnderscoreToCameCase 这个拼写错误,应该是'mapUnderscoreToCamelCase' 2. 自动扫描mapping.xml文件我是这么配置的.  <!--自动扫描mapping.xml文件--><propertyname="mapperLocations"value="classpath:mapper/*.xml"/> 你的spring-context.xml文件贴出来看看. 还真的是,我找到了文件比对的时候竟然没看出来,我看前面都是一样的,到接近后面的时候就粗心了一点 mapUnderscoreToCameCase这个没有mybatis-config.xml里面的东西都找不到,我把mapUnderscoreToCamelCase这个删除了也不行 mapUnderscoreToCameCase,这个东西是不是拼写错误,你检查一下删除了也不行,就会报其他错 目录结构 web.xml <?xmlversion="1.0"encoding="UTF-8"?><web-appversion="3.0"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><filter><description>请求和应答字符编码过滤器</description><filter-name>encoding-filter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>encoding-filter</filter-name><servlet-name>spring-mvc</servlet-name></filter-mapping><listener><description>启动spring容器</description><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><!--和spring-mvc里面的<param-name>contextConfigLocation</param-name>一样--><param-value>classpath:spring-context.xml</param-value></context-param><servlet><description>spring-mvc的前端控制器</description><servlet-name>spring-mvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>spring-mvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list></web-app> spring-mvc.xml <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!--扫描业务层组件--><context:component-scanbase-package="com.zap.vip.function"></context:component-scan><!--配置c3p0事务源--><beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"><propertyname="driverClass"value="com.mysql.jdbc.Driver"></property><propertyname="jdbcUrl"value="jdbc:mysql://127.0.0.1:3306/vip"></property><propertyname="user"value="root"></property><propertyname="password"value="123456"></property><propertyname="minPoolSize"value="1"></property><propertyname="maxPoolSize"value="5"></property><propertyname="initialPoolSize"value="1"></property><propertyname="acquireIncrement"value="1"></property></bean><!--配置一个mysql事务管理器--><beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><propertyname="dataSource"ref="dataSource"></property></bean><!--表示使用注解来控制事务--><tx:annotation-driventransaction-manager="transactionManager"></tx:annotation-driven><beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="dataSource"ref="dataSource"></property><propertyname="configLocation"value="classpath:mybatis-config.xml"></property><propertyname="mapperLocations"><list><value>classpath:mapper/*.xml</value></list></property></bean><!--扫描生成所有的dao层对象--><beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer"><propertyname="basePackage"value="com.zap.vip.dao"></property><propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"></property></bean></beans> mybatis-config.xml <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><settings><settingname="cacheEnable"value="true"/><settingname="defaultStatementTimeout"value="3000"></setting><settingname="mapUnderscoreToCamelCase"value="true"></setting><settingname="proxyFactory"value="CGLIB"></setting><settingname="lazyLoadingEnable"value="true"></setting></settings><plugins><plugininterceptor="com.github.pagehelper.PageHelper"><propertyname="dialect"value="mysql"></property><!--该参数默认为false--><!--设置true时,会将RowBounds第一个参数offset当成pageNum页码使用--><!--和starPage中的pageNum效果一样--><propertyname="offsetAsPageNum"value="true"></property><!--该参数默认为false--><!--设置为true时,使用RowBounds分页会进行count查询--><propertyname="rowBoundsWithCount"value="true"></property><!--设置为true时,如果pageSize=0或者RowBounds.limit=0就会查出全部的结果--><!--(相当于没有执行分页查询,但是返回结果仍然是Page类型)--><propertyname="pageSizeZero"value="true"></property></plugin></plugins></configuration> 从异常信息提示来看,是mybatis-config.xml文件中mapUnderscoreToCamelCase这个setting不认识,有可能是mybatis版本不对。我怎么觉得dtd文件有问题啊, 我还真的按照你那个异常的信息去找了mybatis和mybatis-spring里面对应的代码,真的有那个配置,那现在的问题就是是不是你用的jar的版本并没有那个api啊,我找的是mybatis-3.4.2以及mybatis-spring-1.3.1,你看下你的版本回复 @阿信sxq:你看下面的错误信息我把版本换成你说的了回复 @阿信sxq:org.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname'fun':Unsatisfieddependencyexpressedthroughfield'udao':Errorcreatingbeanwithn回复 @顶呱呱:那你升一下版本试试我的是3.4.1和1.3 org.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname'fun':Unsatisfieddependencyexpressedthroughfield'udao':Errorcreatingbeanwithname'userDao'definedinfile[D:\vip\target\vip\WEB-INF\classes\com\zap\vip\dao\UserDao.class]:Cannotresolvereferencetobean'sqlSessionFactory'whilesettingbeanproperty'sqlSessionFactory';nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sqlSessionFactory'definedinclasspathresource[spring-context.xml]:Invocationofinitmethodfailed;nestedexceptionisorg.springframework.core.NestedIOException:Failedtoparseconfigresource:classpathresource[mybatis-config.xml];nestedexceptionisorg.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'userDao'definedinfile[D:\vip\target\vip\WEB-INF\classes\com\zap\vip\dao\UserDao.class]:Cannotresolvereferencetobean'sqlSessionFactory'whilesettingbeanproperty'sqlSessionFactory';nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sqlSessionFactory'definedinclasspathresource[spring-context.xml]:Invocationofinitmethodfailed;nestedexceptionisorg.springframework.core.NestedIOException:Failedtoparseconfigresource:classpathresource[mybatis-config.xml];nestedexceptionisorg.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).   atorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:569)   atorg.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)   atorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:349)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)   atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)   atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)   atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)   atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)   atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:776)   atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)   atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)   atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)   atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)   atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)   atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)   atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)   atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)   atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)   atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)   atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)   atorg.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1740)   atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)   atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   atjava.lang.reflect.Method.invoke(Method.java:601)   atorg.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)   atcom.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)   atcom.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)   atorg.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)   atorg.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)   atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)   atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   atjava.lang.reflect.Method.invoke(Method.java:601)   atorg.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)   atcom.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)   atcom.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)   atjavax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486)   atjavax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96)   atjavax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327)   atjavax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419)   atjavax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847)   atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)   atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   atjava.lang.reflect.Method.invoke(Method.java:601)   atsun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)   atsun.rmi.transport.Transport$1.run(Transport.java:177)   atsun.rmi.transport.Transport$1.run(Transport.java:174)   atjava.security.AccessController.doPrivileged(NativeMethod)   atsun.rmi.transport.Transport.serviceCall(Transport.java:173)   atsun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)   atsun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)   atsun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)   atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)   atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)   atjava.lang.Thread.run(Thread.java:722)Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'userDao'definedinfile[D:\vip\target\vip\WEB-INF\classes\com\zap\vip\dao\UserDao.class]:Cannotresolvereferencetobean'sqlSessionFactory'whilesettingbeanproperty'sqlSessionFactory';nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sqlSessionFactory'definedinclasspathresource[spring-context.xml]:Invocationofinitmethodfailed;nestedexceptionisorg.springframework.core.NestedIOException:Failedtoparseconfigresource:classpathresource[mybatis-config.xml];nestedexceptionisorg.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).   atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)   atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)   atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)   atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)   atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)   atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)   atorg.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207)   atorg.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1214)   atorg.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1054)   atorg.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1019)   atorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:566)   ...58moreCausedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sqlSessionFactory'definedinclasspathresource[spring-context.xml]:Invocationofinitmethodfailed;nestedexceptionisorg.springframework.core.NestedIOException:Failedtoparseconfigresource:classpathresource[mybatis-config.xml];nestedexceptionisorg.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)   atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)   atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)   atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)   atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)   atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)   ...72moreCausedby:org.springframework.core.NestedIOException:Failedtoparseconfigresource:classpathresource[mybatis-config.xml];nestedexceptionisorg.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).   atorg.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:500)   atorg.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:380)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)   atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)   ...79moreCausedby:org.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).   atorg.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:120)   atorg.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:98)   atorg.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:494)   ...82moreCausedby:org.apache.ibatis.builder.BuilderException:ThesettingcacheEnableisnotknown. Makesureyouspelleditcorrectly(casesensitive).   atorg.apache.ibatis.builder.xml.XMLConfigBuilder.settingsAsProperties(XMLConfigBuilder.java:133)   atorg.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:106)   ...84more 应该是cacheEnabled,不是cacheEnableThesettingcacheEnableisnotknown.Makesureyouspelleditcorrectly(casesensitive),类似的问题,建议你把那些个setting看下,到底mybatis的哪个版本有哪些setting。其他的异常都是因为这个导致的。或者你把你的项目打个包发上来看看。 dtd路径颜色都没变 不过又可以点进去 经过上面的讨论,根据org.apache.ibatis.session.Configuration,你配置错误的包括把mapUnderscoreToCamelCase写成mapUnderscoreToCameCase,把cacheEnabled写成cacheEnable,并且,我看你cacheEnabled配置的true,默认值就是true啊,没必要配置的。 我还给你说哈springmvc的配置一般和spring整体的配置单独配置,生命周期那些有差异,数据库连接池等的配置在spring整体的配置里面回复 @顶呱呱:osc的maven早就关了回复 @阿信sxq:pom.xml里面的jar管理引用不了是osc的原因吗这根本不是所谓的“整合”出的问题,单独运行也运行不起嘛,而且我用spring+mybatis的时候也没有配置你配的那些啊回复 @阿信sxq:非常感谢了!帮我解决了问题回复 @myumen:的确是你们说的那些问题!非常感谢,初次接触框架整合。困扰好几天了,请问有哪些spring学习的交流群吗 问题解决就赶紧评出个最佳答案吧,保持良好的提问氛围~

爱吃鱼的程序员 2020-06-08 14:08:31 0 浏览量 回答数 0

问题

spring3.2.2+jpa整合 如何配置多个持久化单元?报错

爱吃鱼的程序员 2020-06-22 20:37:08 0 浏览量 回答数 1

问题

Spring中ehcache配置拦截器缓存问题:报错

kun坤 2020-06-06 18:06:48 0 浏览量 回答数 1

问题

Servlet 3.0 新特性详解? 400 报错

爱吃鱼的程序员 2020-06-04 11:52:09 3 浏览量 回答数 1

问题

详解 Spring 3.0 基于 Annotation 的依赖注入实现 配置报错 

kun坤 2020-06-01 09:44:47 3 浏览量 回答数 1

问题

shiro+ssm做权限管理,使用自定义Realm项目启动就报错?报错

爱吃鱼的程序员 2020-06-06 10:07:56 0 浏览量 回答数 1

问题

shiro+ssm做权限管理,使用自定义Realm项目启动就报错?报错

爱吃鱼的程序员 2020-06-06 10:15:42 0 浏览量 回答数 1

问题

shiro报错 There is no session with id [xxx] ?报错

爱吃鱼的程序员 2020-06-14 14:52:58 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板