org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0' defined in class path resource [applicationContext-persistence.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sqlSessionFactoryBeanName' of bean class [org.mybatis.spring.mapper.MapperScannerConfigurer]: Bean property 'sqlSessionFactoryBeanName' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1396)
15 个解决方案
#1
. Does the parameter type of the setter match the return type of the getter?
你看看你 的set/get 方法。
你看看你 的set/get 方法。
#2
public void setSqlSessionFactoryBeanName(String sqlSessionFactoryName) {
this.sqlSessionFactoryBeanName = sqlSessionFactoryName;
}
this.sqlSessionFactoryBeanName = sqlSessionFactoryName;
}
#3
<!-- Mybatis 的 session factory 配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/sqlmap-config.xml" />
</bean>
<!-- 扫描 mapper 接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lscms.sqlmapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/sqlmap-config.xml" />
</bean>
<!-- 扫描 mapper 接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lscms.sqlmapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
#4
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
#5
Hibernate为什么与MyBatis一起使用呢?有点奇怪。
#6
是很有用的,很多大的项目都是两个整合一起用的,hibernate做点简单查询,mybatis做复杂查询,很爽的。
问题已经解决了,是自己大意了。
#7
整合起来用,很爽的,很灵活,mybatis做复杂查询很爽,hibernate做简单查询,和增删改。各有各的优点,各有各的好处,整合起来就是为了充分发挥它们的优点,不然做复杂查询hibernate很恶心的。
#8
呵呵,没这么折腾过
#9
hibernate做复杂查询很恶心这点我知道,难道iBATIS做增删改不好吗,为什么不直接用iBATIS做所有?
#10
持久层框架基本只会出现一个,mybatis就足够了,想要做到hibernate哪些save(Entity) update(Entity) delete(Entity)的这些功能自己改造下mybatis就可以了。
#11
hibernate做复杂查询很恶心这点我知道,难道iBATIS做增删改不好吗,为什么不直接用iBATIS做所有?
Mybatis做增删改也很好,实际上哪一个都很好,只是个人想把他们结合起来使用,纯属闲得无聊啊,哈哈。。。
#12
持久层框架基本只会出现一个,mybatis就足够了,想要做到hibernate哪些save(Entity) update(Entity) delete(Entity)的这些功能自己改造下mybatis就可以了。
嗯嗯 是的 这个方法也很不错啊,完了可以尝试一下,这个整合只是个人喜好问题,不过还好,整合成功了,用起来个人感觉不错。
#13
sqlSessionFactoryBeanName这个方法没set方法
#14
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
是很有用的,很多大的项目都是两个整合一起用的,hibernate做点简单查询,mybatis做复杂查询,很爽的。
问题已经解决了,是自己大意了。
问题在那里啊,我现在碰到一样的问题
#15
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
是很有用的,很多大的项目都是两个整合一起用的,hibernate做点简单查询,mybatis做复杂查询,很爽的。
问题已经解决了,是自己大意了。
问题在那里啊,我现在碰到一样的问题
我的问题是出在没有把mapper注入到service中引发的错误。小问题,个人疏忽大意了。
#1
. Does the parameter type of the setter match the return type of the getter?
你看看你 的set/get 方法。
你看看你 的set/get 方法。
#2
public void setSqlSessionFactoryBeanName(String sqlSessionFactoryName) {
this.sqlSessionFactoryBeanName = sqlSessionFactoryName;
}
this.sqlSessionFactoryBeanName = sqlSessionFactoryName;
}
#3
<!-- Mybatis 的 session factory 配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/sqlmap-config.xml" />
</bean>
<!-- 扫描 mapper 接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lscms.sqlmapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/sqlmap-config.xml" />
</bean>
<!-- 扫描 mapper 接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lscms.sqlmapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
#4
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
#5
Hibernate为什么与MyBatis一起使用呢?有点奇怪。
#6
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
是很有用的,很多大的项目都是两个整合一起用的,hibernate做点简单查询,mybatis做复杂查询,很爽的。
问题已经解决了,是自己大意了。
#7
Hibernate为什么与MyBatis一起使用呢?有点奇怪。
整合起来用,很爽的,很灵活,mybatis做复杂查询很爽,hibernate做简单查询,和增删改。各有各的优点,各有各的好处,整合起来就是为了充分发挥它们的优点,不然做复杂查询hibernate很恶心的。
#8
Hibernate为什么与MyBatis一起使用呢?有点奇怪。
整合起来用,很爽的,很灵活,mybatis做复杂查询很爽,hibernate做简单查询,和增删改。各有各的优点,各有各的好处,整合起来就是为了充分发挥它们的优点,不然做复杂查询hibernate很恶心的。
呵呵,没这么折腾过
#9
hibernate做复杂查询很恶心这点我知道,难道iBATIS做增删改不好吗,为什么不直接用iBATIS做所有?
#10
持久层框架基本只会出现一个,mybatis就足够了,想要做到hibernate哪些save(Entity) update(Entity) delete(Entity)的这些功能自己改造下mybatis就可以了。
#11
hibernate做复杂查询很恶心这点我知道,难道iBATIS做增删改不好吗,为什么不直接用iBATIS做所有?
Mybatis做增删改也很好,实际上哪一个都很好,只是个人想把他们结合起来使用,纯属闲得无聊啊,哈哈。。。
#12
持久层框架基本只会出现一个,mybatis就足够了,想要做到hibernate哪些save(Entity) update(Entity) delete(Entity)的这些功能自己改造下mybatis就可以了。
嗯嗯 是的 这个方法也很不错啊,完了可以尝试一下,这个整合只是个人喜好问题,不过还好,整合成功了,用起来个人感觉不错。
#13
sqlSessionFactoryBeanName这个方法没set方法
#14
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
是很有用的,很多大的项目都是两个整合一起用的,hibernate做点简单查询,mybatis做复杂查询,很爽的。
问题已经解决了,是自己大意了。
问题在那里啊,我现在碰到一样的问题
#15
Mybatis没必要和Hibernate一起用吧,大家都是持久层,你的sessionFactory到底用的哪个啊,注意别混用
是很有用的,很多大的项目都是两个整合一起用的,hibernate做点简单查询,mybatis做复杂查询,很爽的。
问题已经解决了,是自己大意了。
问题在那里啊,我现在碰到一样的问题
我的问题是出在没有把mapper注入到service中引发的错误。小问题,个人疏忽大意了。