spring整合mybatis map中有bean出现No matching bean of type问题,新人求教

14:08 提问
Spring整合Mybatis关于Dao注入失败的问题求解
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminService': Injection of autowired nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private pers.zww.grad.dao.IAdminDao pers.zww.grad.service.impl.AdminServiceImpl.adminD nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [pers.zww.grad.dao.IAdminDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.beans.factory.annotation.Qualifier(value=adminDao)}
此为自动生成的Mapper,我加了注解@Repository
package pers.zww.grad.
import org.springframework.stereotype.R
import pers.zww.grad.vo.A
@Repository("adminDao")
public interface IAdminDao {
int deleteByPrimaryKey(String id);
int insert(Admin record);
int insertSelective(Admin record);
Admin selectByPrimaryKey(String id);
int updateByPrimaryKeySelective(Admin record);
int updateByPrimaryKey(Admin record);
Integer getCountByName(String name);
Integer getCountByNameAndPass(String name,String password);
这是Service里面注入
package pers.zww.grad.service.
@Service("adminService")
public class AdminServiceImpl implements IAdminService {
@Autowired
@Qualifier("adminDao")
private IAdminDao adminD
public int deleteByPrimaryKey(String id) {
// TODO Auto-generated method stub
配置文件都已扫描过了,而且相关mybatis的如下:
&bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&
&property name="dataSource" ref="dataSource" /&
&!-- 自动扫描mapping.xml文件 --&
&property name="mapperLocations" value="classpath:pers/zww/grad/mapping/*.xml"&&/property&
&!-- DAO接口所在包名,Spring会自动查找其下的类 --&
&bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&
&property name="basePackage" value="pers.zww.grad.dao" /&
&property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"&&/property&
按赞数排序
自动扫描的包有没有加进去
&!-- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --&
问题已解决,谢谢大家。
大哥你这个问题解决了么,我遇到了,求教
&bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&
&property name="dataSource" ref="dataSource" /&
&property name="typeAliasesPackage"&
pers.zww.grad.vo
&/property&
&!-- 自动扫描mapping.xml文件 --&
&property name="mapperLocations" value="classpath:pers/zww/grad/mapping/*.xml"&&/property&
你的注解加到实现类中,不要加接口类
@Repository("adminDao")为什么注解在接口上呢
&context:component-scan base-package="pers.zww.grad.*"&
只写pers.zww.grad试下,我自己的工程加上.*后就报找不到bean了,可能是不支持这样写。
另外@Autowired默认按照类型注入,可以不指定bean的名称。
估计是包扫描的问题吧,,
我也想知道,我的也是不能注入呢,不是不需要实现么
其他相似问题spring整合mybatis出现No -中国学网-中国IT综合门户网站
> 信息中心 >
spring整合mybatis出现No
来源:互联网 发表时间: 15:37:47 责任编辑:鲁晓倩字体:
为了帮助网友解决“spring整合mybatis出现No ”相关的问题,中国学网通过互联网对“spring整合mybatis出现No ”相关的解决方案进行了整理,用户详细问题包括:mybatisspringbean自动注入相关的东西如下:src:中国学网
web.xml:applicationContext.xml:dispatcher-servlet.xml:serviceImpl:求各路大神支招,谢过啦.....,具体解决方案如下:解决方案1:以下是错误:严重:&StandardWrapper.Throwableorg.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'userController':&Injection&of&autowired&dependencies&&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Could&not&autowire&field:&private&edu.xg.service.UserService&edu.xg.controller.UserController.&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'userServiceImpl':&Injection&of&autowired&dependencies&&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Could&not&autowire&field:&private&edu.xg.dao.UserDao&edu.xg.service.impl.UserServiceImpl.&nested&exception&is&org.springframework.beans.factory.NoSuchBeanDefinitionException:&No&matching&bean&of&type&[edu.xg.dao.UserDao]&found&for&dependency:&expected&at&least&1&bean&which&qualifies&as&autowire&candidate&for&this&dependency.&Dependency&annotations:&{@org.springframework.beans.factory.annotation.Autowired(required=true)}at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:605)at&org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)at&org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)at&org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)at&org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)at&org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)at&org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)at&org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)at&org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)at&javax.servlet.GenericServlet.init(GenericServlet.java:212)at&org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)at&org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)at&org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4350)at&org.apache.catalina.core.StandardContext.start(StandardContext.java:4659)at&org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at&org.apache.catalina.core.StandardHost.start(StandardHost.java:785)at&org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at&org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)at&org.apache.catalina.core.StandardService.start(StandardService.java:519)at&org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at&org.apache.catalina.startup.Catalina.start(Catalina.java:581)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:606)at&org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)at&org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)Caused&by:&org.springframework.beans.factory.BeanCreationException:&Could&not&autowire&field:&private&edu.xg.service.UserService&edu.xg.controller.UserController.&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'userServiceImpl':&Injection&of&autowired&dependencies&&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Could&not&autowire&field:&private&edu.xg.dao.UserDao&edu.xg.service.impl.UserServiceImpl.&nested&exception&is&org.springframework.beans.factory.NoSuchBeanDefinitionException:&No&matching&bean&of&type&[edu.xg.dao.UserDao]&found&for&dependency:&expected&at&least&1&bean&which&qualifies&as&autowire&candidate&for&this&dependency.&Dependency&annotations:&{@org.springframework.beans.factory.annotation.Autowired(required=true)}at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:513)at&org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:92)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)...&34&moreCaused&by:&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'userServiceImpl':&Injection&of&autowired&dependencies&&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Could&not&autowire&field:&private&edu.xg.dao.UserDao&edu.xg.service.impl.UserServiceImpl.&nested&exception&is&org.springframework.beans.factory.NoSuchBeanDefinitionException:&No&matching&bean&of&type&[edu.xg.dao.UserDao]&found&for&dependency:&expected&at&least&1&bean&which&qualifies&as&autowire&candidate&for&this&dependency.&Dependency&annotations:&{@org.springframework.beans.factory.annotation.Autowired(required=true)}at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:872)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:814)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:731)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:485)...&36&more解决方案2:Caused&by:&org.springframework.beans.factory.BeanCreationException:&Could&not&autowire&field:&private&edu.xg.dao.UserDao&edu.xg.service.impl.UserServiceImpl.&nested&exception&is&org.springframework.beans.factory.NoSuchBeanDefinitionException:&No&matching&bean&of&type&[edu.xg.dao.UserDao]&found&for&dependency:&expected&at&least&1&bean&which&qualifies&as&autowire&candidate&for&this&dependency.&Dependency&annotations:&{@org.springframework.beans.factory.annotation.Autowired(required=true)}at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:513)at&org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:92)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)...&47&moreCaused&by:&org.springframework.beans.factory.NoSuchBeanDefinitionException:&No&matching&bean&of&type&[edu.xg.dao.UserDao]&found&for&dependency:&expected&at&least&1&bean&which&qualifies&as&autowire&candidate&for&this&dependency.&Dependency&annotations:&{@org.springframework.beans.factory.annotation.Autowired(required=true)}at&org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:948)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:817)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:731)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:485)...&49&more九月&12,&:35&下午&org.apache.catalina.core.StandardContext&loadOnStartup严重:&Servlet&&threw&load()&exceptionorg.springframework.beans.factory.NoSuchBeanDefinitionException:&No&matching&bean&of&type&[edu.xg.dao.UserDao]&found&for&dependency:&expected&at&least&1&bean&which&qualifies&as&autowire&candidate&for&this&dependency.&Dependency&annotations:&{@org.springframework.beans.factory.annotation.Autowired(required=true)}at&org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:948)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:817)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:731)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:485)at&org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:92)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:872)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:814)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:731)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:485)at&org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:92)at&org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at&org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:605)at&org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)at&org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)at&org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)at&org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)at&org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)at&org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)at&org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)at&org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)at&javax.servlet.GenericServlet.init(GenericServlet.java:212)at&org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)at&org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)at&org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4350)at&org.apache.catalina.core.StandardContext.start(StandardContext.java:4659)at&org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at&org.apache.catalina.core.StandardHost.start(StandardHost.java:785)at&org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at&org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)at&org.apache.catalina.core.StandardService.start(StandardService.java:519)at&org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at&org.apache.catalina.startup.Catalina.start(Catalina.java:581)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:606)at&org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)at&org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)解决方案3:好像&使用&@Autowired&要在applicationContext.xml中定义与你变量同名的bean吧,这样Spring才能在启动的时候生成这个对象,然后@Autowired才能找到这个对象(我是新手&说的不对&您不要介意)解决方案4:检查下是否是mapperlocations&那个自动扫描的问题,不行就把xml手动加进配置文件吧
1个回答1个回答2个回答2个回答1个回答1个回答1个回答2个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号我自己搭了一个struts2+Mybatis+Spring的框架,想通过MapperScannerConfigurer来自动添加Mybatis的mapper,发现一个很奇怪的问题:
如果不使用MapperScannerConfigurer,而采取手动配置添加mapper,一切正常;
如果使用了MapperScannerConfigurer,服务器启动的时候会报错,但是报的是数据源配置读取错误,好像和MapperScannerConfigurer无关。
错误信息和spring配置文件如下:
&?xml&version=&1.0&&encoding=&UTF-8&?&
&beans&xmlns=&http://www.springframework.org/schema/beans&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&&&
xmlns:aop=&http://www.springframework.org/schema/aop&&&&&&&
xmlns:tx=&http://www.springframework.org/schema/tx&&&&&&&&
xmlns:jdbc=&http://www.springframework.org/schema/jdbc&&&&&&&&
xmlns:context=&http://www.springframework.org/schema/context&&
xsi:schemaLocation=&
http://www.springframework.org/schema/context&http://www.springframework.org/schema/context/spring-context-3.0.xsd&&&&&&&
http://www.springframework.org/schema/beans&http://www.springframework.org/schema/beans/spring-beans-3.0.xsd&&&&&&&
http://www.springframework.org/schema/jdbc&http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd&&&&&&&
http://www.springframework.org/schema/tx&http://www.springframework.org/schema/tx/spring-tx-3.0.xsd&&&&&&&
http://www.springframework.org/schema/aop&http://www.springframework.org/schema/aop/spring-aop-3.0.xsd&&&&&&&
default-autowire=&byName&&
&!--&向spring注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、
PersistenceAnnotationBeanPostProcessor&以及&RequiredAnnotationBeanPostProcessor&--&
&context:annotation-config&&/context:annotation-config&
&!--&定义组件扫描的包名&--&
&context:component-scan&base-package=&edu.zjut&&/&
&!--&导入属性配置文件&--&
&bean&id=&propertyConfigurer&
class=&org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&&
&property&name=&locations&&
&value&classpath:mysql.properties&/value&
&/property&
&!--&context:property-placeholder&location=&classpath:mysql.properties&&/&--&
&!--&定义使用C3P0连接池的数据源&--&
&bean&id=&dataSource&
class=&com.mchange.boPooledDataSource&&
&!--&指定连接数据库的JDBC驱动&--&
&property&name=&driverClass&&
&value&${jdbc.driverClassName}&/value&
&/property&
&!--&连接数据库所用的URL&--&
&property&name=&jdbcUrl&&
&value&${jdbc.url}&/value&
&/property&
&!--&连接数据库的用户名&--&
&property&name=&user&&
&value&${jdbc.user}&/value&
&/property&
&!--&连接数据库的密码&--&
&property&name=&password&&
&value&${jdbc.password}&/value&
&/property&
&!--&设置数据库连接池的最大连接数&--&
&property&name=&maxPoolSize&&
&value&${jdbc.maxPoolSize}&/value&
&/property&
&!--&设置数据库连接池的最小连接数&--&
&property&name=&minPoolSize&&
&value&${jdbc.minPoolSize}&/value&
&/property&
&!--&设置数据库连接池的初始化连接数&--&
&property&name=&initialPoolSize&&
&value&${jdbc.initialPoolSize}&/value&
&/property&
&!--&设置数据库连接池的连接的最大空闲时间,单位为秒&--&
&property&name=&maxIdleTime&&
&value&${jdbc.maxIdleTime}&/value&
&/property&
&!--&集成myBaits框架,配置sqlSessionFatory&--&
&bean&id=&sqlSessionFactory&&class=&org.mybatis.spring.SqlSessionFactoryBean&&
&property&name=&configLocation&&value=&classpath:mybatis-config.xml&&/&
&property&name=&dataSource&&ref=&dataSource&&/&
&!--&配置sqlSessionTemplate&--&
&bean&id=&sqlSessionTemplate&&class=&org.mybatis.spring.SqlSessionTemplate&&
&constructor-arg&name=&sqlSessionFactory&&ref=&sqlSessionFactory&/&
&&&&&!--&mybatis自动扫描包下的mapper&--&
&bean&class=&org.mybatis.spring.mapper.MapperScannerConfigurer&&
&property&name=&basePackage&&value=&org.mybatis.spring.sample.mapper&&/&
&!--&optional&unless&there&are&multiple&session&factories&defined&--&
&property&name=&sqlSessionFactoryBeanName&&value=&sqlSessionFactory&&/&
&&&&&!--&bean&class=&org.mybatis.spring.mapper.MapperScannerConfigurer&&
&&&&&&&&&property&name=&basePackage&&value=&config.mybatis.mapper&&/&
&&&&&/bean&--&
&!--&数据库的事务管理器配置&--&
&bean&id=&transactionManager&
class=&org.springframework.jdbc.datasource.DataSourceTransactionManager&&
&property&name=&dataSource&&ref=&dataSource&&/&
&!--&使用annotation定义数据库事务,这样可以在类或方法中直接使用@Transactional注解来声明事务&--&
&tx:annotation-driven&transaction-manager=&transactionManager&&/&
回复讨论(解决方案)
&22:52:50&[日志信息]&Context&initialization&failed
org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'org.mybatis.spring.mapper.MapperScannerConfigurer#0'&defined&in&ServletContext&resource&[/WEB-INF/classes/applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'sqlSessionFactory'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Cannot&resolve&reference&to&bean&'dataSource'&while&setting&bean&property&'dataSource';&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'dataSource'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at&org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:386)
at&org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:582)
at&org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:405)
at&org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
at&org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196)
at&org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at&org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
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)
at&sun.reflect.NativeMethodAccessorImpl.invoke0(Native&Method)
at&sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at&sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at&java.lang.reflect.Method.invoke(Method.java:597)
at&org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at&org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused&by:&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'sqlSessionFactory'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Cannot&resolve&reference&to&bean&'dataSource'&while&setting&bean&property&'dataSource';&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'dataSource'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at&org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1308)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1085)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1035)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
...&35&more
Caused&by:&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'dataSource'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at&org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
...&47&more
Caused&by:&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:457)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1354)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1313)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
...&53&more
Caused&by:&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at&java.lang.Integer.parseInt(Integer.java:447)
at&java.lang.Integer.valueOf(Integer.java:553)
at&org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:155)
at&org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.java:116)
at&org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:474)
at&org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:446)
at&org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:215)
at&org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:154)
at&org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:452)
...&57&more
&22:52:50&org.apache.catalina.core.StandardContext&listenerStart
严重:&Exception&sending&context&initialized&event&to&listener&instance&of&class&org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'org.mybatis.spring.mapper.MapperScannerConfigurer#0'&defined&in&ServletContext&resource&[/WEB-INF/classes/applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'sqlSessionFactory'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Cannot&resolve&reference&to&bean&'dataSource'&while&setting&bean&property&'dataSource';&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'dataSource'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at&org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:386)
at&org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:582)
at&org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:405)
at&org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
at&org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196)
at&org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at&org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
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)
at&sun.reflect.NativeMethodAccessorImpl.invoke0(Native&Method)
at&sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at&sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at&java.lang.reflect.Method.invoke(Method.java:597)
at&org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at&org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused&by:&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'sqlSessionFactory'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Cannot&resolve&reference&to&bean&'dataSource'&while&setting&bean&property&'dataSource';&nested&exception&is&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'dataSource'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at&org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1308)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1085)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1035)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
...&35&more
Caused&by:&org.springframework.beans.factory.BeanCreationException:&Error&creating&bean&with&name&'dataSource'&defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml]:&Initialization&of&bean&&nested&exception&is&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at&org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at&org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at&org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at&org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at&org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
...&47&more
Caused&by:&org.springframework.beans.TypeMismatchException:&Failed&to&convert&property&value&of&type&'java.lang.String'&to&required&type&'int'&for&property&'maxPoolSize';&nested&exception&is&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:457)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1354)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1313)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
at&org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
...&53&more
Caused&by:&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
at&java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at&java.lang.Integer.parseInt(Integer.java:447)
at&java.lang.Integer.valueOf(Integer.java:553)
at&org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:155)
at&org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.java:116)
at&org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:474)
at&org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:446)
at&org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:215)
at&org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:154)
at&org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:452)
...&57&more
&22:52:50&org.apache.catalina.core.StandardContext&start
严重:&Error&listenerStart
&22:52:50&org.apache.catalina.core.StandardContext&start
严重:&Context&[/SSM]&startup&failed&due&to&previous&errors
&22:52:50&org.apache.catalina.core.ApplicationContext&log
信息:&Closing&Spring&root&WebApplicationContext
&22:52:51&org.apache.coyote.http11.Http11Protocol&start
信息:&Starting&Coyote&HTTP/1.1&on&http-8080
&22:52:51&org.mon.ChannelSocket&init
信息:&JK:&ajp13&listening&on&/0.0.0.0:8009
&22:52:51&org.apache.jk.server.JkMain&start
信息:&Jk&running&ID=0&time=0/45&&config=null
&22:52:51&org.apache.catalina.startup.Catalina&start
信息:&Server&startup&in&11579&ms
defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml
这里是问题的核心,&更具配置文件创建bean失败,&你要好好看一下你的
配置文件了。
错误描述:
Context&initialization&failed
错误产生原因:
&&spring注入出现问题:检测spring注入地方
&&&&&1.注解注入,
&&&&&&&是否有冲突
&&&&&&&是否该类无法注入
&&&&&2.配置文件
&&&&&&&检测需要注入的具体实现类中,是否需要注入对象set方法编写正确
具体错误内容中会产生
&&&&注解注入错误,不容易看出具体哪个注入问题
&&&&配置文件注入问题,可以通过看报错日志定位错误
还有,楼主,不要贴这么多错误信息出来,,这样看的很烦的,,都贴了3楼,,我擦,,
Caused&by:&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
property中的定义是否后面多了空格。
defined&in&file&[D:\Workspaces\MyEclipse&10\.metadata\.me_tcat\webapps\SSM\WEB-INF\classes\applicationContext-common.xml
这里是问题的核心,&更具配置文件创建bean失败,&你要好好看一下你的
配置文件了。
错误描述:
Context&initializati……
谢谢!我的配置文件在1楼贴出来了,我左看右看都没什么问题啊,而且只要将MapperScannerConfigurer所在的bean配置删除或者注释掉,就可以正常工作。MapperScannerConfigurer的bean连名字都没有,应该不会有冲突吧?
这里面没有我自己写的set方法,因为被注入的对象都是系统或者框架提供的类,框架应该不会有问题的吧。
最后请教如何看报错日志
Caused&by:&java.lang.NumberFormatException:&For&input&string:&&${jdbc.maxPoolSize}&
property中的定义是否后面多了空格。
没有,不用扫描方式添加mapper都好好的正常工作
${jdbc.maxPoolSize}这个肯定没有问题,
原因是你加入了MapperScannerConfigurer
他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${jdbc.maxPoolSize}还没有被解析呢,
故没有被mysql.properties里面的值所替换,所以出现NumberFormatException就是情理之中了
这是mybatis-spring的一个己经公开的问题
详细解决办法请看
/p/mybatis/issues/detail?id=414
${jdbc.maxPoolSize}这个肯定没有问题,
原因是你加入了MapperScannerConfigurer
他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${jdbc.maxPoolSize}还没有被解析呢,
故没有被mysql.properties里面的值所替换,所以出现NumberFormatException就是情理之……
谢谢啊,我已经按照解决方法修改了配置文件,启动不再报错,但始终搜索不到包下面的mapper,没有报错,只有提示:“No&MyBatis&mapper&was&found&in&'config.mybatis'&package.&Please&check&your&configuration.”
但是这个包下面肯定是有xml的mapper文件的啊!
文件内容如下:
&?xml&version=&1.0&&encoding=&UTF-8&&?&
&!DOCTYPE&mapper&PUBLIC&&-//mybatis.org//DTD&Mapper&3.0//EN&&&http://mybatis.org/dtd/mybatis-3-mapper.dtd&&
&!--&命名空间,一般和对应的类同名,首字母大写&--&
&mapper&namespace=&User&&
&resultMap&type=&edu.zjut.user.entity.User&&id=&userResultMap&&
&id&property=&id&&column=&id&&/&
&result&property=&userName&&column=&userName&&/&
&result&property=&password&&column=&password&&/&
&/resultMap&
&insert&id=&save&&parameterType=&edu.zjut.user.entity.User&&
insert&into&user&values(#{userName},#{password})
&update&id=&update&&parameterType=&edu.zjut.user.entity.User&&
update&user&set&userName=#{userName},password=#{password}&
where&id=#{id}
&delete&id=&delete&&parameterType=&edu.zjut.user.entity.User&&
delete&from&user&where&id=#{id}
&select&id=&query&&parameterType=&edu.zjut.user.entity.User&
resultType=&edu.zjut.user.entity.User&&
select&*&from&user&where&id=#{id}
&select&id=&queryPage&&parameterType=&edu.zjut.user.entity.User&&resultType=&edu.zjut.user.entity.User&&
select&*&from&user&
where&username&&&&#{userName}&limit&#{start},#{pageSize}
&select&id=&queryTotalCount&&parameterType=&edu.zjut.user.entity.User&&resultType=&Integer&&
select&count(*)&from&user
where&username&&&&#{userName}
&select&id=&login&&parameterType=&edu.zjut.user.entity.User&
resultType=&edu.zjut.user.entity.User&&
select&*&from&user&where&userName=#{userName}&and
password=#{password}
${jdbc.maxPoolSize}这个肯定没有问题,
原因是你加入了MapperScannerConfigurer
他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${jdbc.maxPoolSize}还没有被解析呢,
故没有被mysql.properties里面的值所替换,所以出现NumberFormatException就是情理之……
由于无法自动加载mapper,我跟踪到mybatis和spring源代码里面发现其对于mapper的搜索是基于ClassPathScanningCandidateComponentProvider类的findCandidateComponents方法,但是用来匹配的resourcePattern默认值却是&**/*.class&,无法匹配mapper的xml文件,这是怎么回事?难道要我把xml修改成class?
用sqlSessionTemplate就不能用&自动扫描,&用自动扫描&就要用mybatis的接口
[Quote=引用&10&楼&&的回复:]
${jdbc.maxPoolSize}这个肯定没有问题,
原因是你加入了MapperScannerConfigurer
他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${jdbc.maxPoolSize}还没有被解析呢,
故没有被mysql.properties里面的值所替换,所以出现NumberFormatException就是情理之……
由于无法自动加载mapper,我跟踪到mybatis和spring源代码里面发现其对于mapper的搜索是基于ClassPathScanningCandidateComponentProvider类的findCandidateComponents方法,但是用来匹配的resourcePattern默认值却是&**/*.class&,无法匹配mapper的xml文件,这是怎么回事?难道要我把xml修改成class?
你这个问题解决没?我去官网上也没看到解决方案!我的也是用自动扫描就报错不能正常解析properties内容。

我要回帖

更多关于 mybatis 动态bean 的文章

 

随机推荐