Spring相关BUG
今天从云开发平台上生成的代码报Spring相关的错误。
我找到第一处错误,整理如下:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'kmBookDetailTarget' defined in ServletContext resource [/WEB-INF/KmssConfig/km/book/spring.xml]: Error setting property values;
nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'kmBookCategoryService' of bean class [com.landray.kmss.km.book.service.spring.KmBookDetailServiceImp]: Bean property 'kmBookCategoryService' is not writable or has an invalid setter method.
Does the parameter type of the setter match the return type of the getter?
首先翻译一遍:
创建定义在这个spring.xml文件里面,名为'kmBookDetailTarget'的bean时出错:设置属性值时出错;
嵌套异常为这个Exception:这个bean类的属性'kmBookCategoryService'无效:bean属性'kmBookCategoryService'是不可写或者有一个无效的setter方法。
setter的参数类型是否与getter的返回类型匹配?
然后确定了导致错误的起源在这个spring.xml文件,并且找到'kmBookDetailTarget'这个bean,然后找到这个bean里面的属性'kmBookCategoryService',如图:

bean每注入一个属性,我们都要在这个bean对应的class中定义setter方法,我们找到这个class,如图:

发现没有任何setter方法。其实baseDao这个属性应该是在框架中已经setter过了,即父类中定义了,而我们自定义的属性'kmBookCategoryService'并没有定义,因此才导致错误。
解决办法:
删掉该属性,如图:

clean项目,重新启动,OK!
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
那么如果我不删除spring配置,该如何做?
应该在对应的类里面添加setter方法,如图:

重新启动,欸~都挺好,也OK!
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
但如果,我就是要删除这个spring配置,但是以后我还是想要用这个属性怎么办?
我们可以通过另外一种办法使用:

SpringBeanUtil是我们封装的类,针对这个方法的代码如下:
private static ApplicationContext applicationContext = null;
public static Object getBean(String beanName) {
if (applicationContext == null)
return null;
return applicationContext.getBean(beanName);
}
好不好用测试才行,很不幸,我们框架没有单元测试(我自己也不会搞),于是我从前端写了一个ajax,然后到action层调service,最后在serviceImp调test方法测试。
结果测试可行!
Spring相关BUG的更多相关文章
- SQL Server 优化器特性导致的内存授予相关BUG
我们有时会遇到一些坑,要不填平,要不绕过.这里为大家介绍一个相关SQL Server优化器方面的特性导致内存授予的相关BUG,及相关解决方式,也顺便回答下邹建同学的相关疑问. 问题描述 一个简单的查询 ...
- maven引入spring相关依赖
<!--spring相关包--> <dependency> <groupId>org.springframework</groupId> <art ...
- spring相关注解
spring相关注解: 使用之前需要<context:annotation-config/>在配置文件中启用 @Required 应用于类属性的set方法,并且要求该属性必须在xml容器里 ...
- Spring 相关目录
Spring 相关目录 学习笔记 Spring 学习笔记 IoC 基础 Spring 学习笔记 Resource 资源 Spring 学习笔记 数据绑定,校验,BeanWrapper 与属性编辑器 源 ...
- Spring相关jar说明
Spring整合使用说明 一.只是使用spring框架 dist\spring.jar lib\jakarta-commons\commons-logging.jar 如果使用到了切面编程(AOP), ...
- 搭建Spring相关框架后,配置信息文件头部出现红色小×错误。
问题描述: 在搭建关于Spring相关框架的时候,在applicationContext.xml配置文件和servlet-mvc.xml配件文件的头部会出现一个红色的小X错误: 错误描述: Refer ...
- Win10 LTSC 2021 安装及相关bug解决
Win10 LTSC 2021 安装及相关bug解决 目录 Win10 LTSC 2021 安装及相关bug解决 准备文件 系统安装 系统激活 修复CPU占用高和输入法显示bug 安装微软应用商店 推 ...
- 经过一个多月的等待我有幸成为Spring相关项目的Contributor
给开源项目尤其是Spring这种知名度高的项目贡献代码是比较难的,起码胖哥是这么认为的.有些时候我们的灵感未必契合作者的设计意图,即使你的代码十分优雅. 我曾经给Spring Security提交了一 ...
- spring相关jar包的含义
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...
随机推荐
- [LeetCode] Longest Valid Parentheses -- 挂动态规划羊头卖stack的狗肉
(Version 1.3) 这题在LeetCode上的标签比较有欺骗性,虽然标签写着有DP,但是实际上根本不需要使用动态规划,相反的,使用动态规划反而会在LeetCode OJ上面超时.这题正确的做法 ...
- 「BZOJ3083」遥远的国度(树剖换根
3083: 遥远的国度 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 4859 Solved: 1372[Submit][Status][Discu ...
- WinThruster中文版破解方法(注册表无伤清理工具)
每次卸载完软件,都会有注册表残余垃圾,久而久之电脑会越来越慢,winThruster可以检测出系统无用注册表,并删除. 1.解压文件,安装Setup_WinThruster_2015.exe文件. 2 ...
- bzoj4006
斯坦纳树 比之前要求高了一些 其实利用斯坦纳树的dp[i][s]以i为根,S为状态就行了,先跑一遍斯坦纳树,预处理出dp数组,记住每个S的最小值,然后再dp,这里dp必须要求同一种颜色的状态都必须在S ...
- AngularJS系统学习之Factory,Service, Provider(工厂,服务,供应者)
本文转自:http://blog.csdn.net/zcl_love_wx/article/details/51404390 我看过敲过代码之后, 有了很深的理解, 这三个东西其实都是用来返回对象的. ...
- Monkey学习(转载)
Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随即操作包括点击.滑动.... ...
- 使用 Multipath TCP 为 iOS 创建备份连接(转)
这篇文章的英文版如下: https://support.apple.com/en-us/HT201373 这里咱们采用苹果手机打开测试网站,发现没有检测到MPTCP,初步猜想可能需要打开什么设置,后续 ...
- CSS3:nth-child()伪类选择器,Table表格奇偶数行定义样式
转自爱设计 原文链接http://www.dangshopex.com/jishufenxiang/WEBkaifajishu/8653.html CSS3的强大,让人惊叹,人们在惊喜之余,又不得不为 ...
- (3)ASP.NET Core 服务生命周期
1.前言 在ConfigureServices方法中的容器注册每个应用程序的服务,Asp.Core都可以为每个应用程序提供三种服务生命周期:●Transient(暂时):每次请求都会创建一个新的实例. ...
- webpack内置模块ProvidePlugin
webpack配置ProvidePlugin后,在使用时将不再需要import和require进行引入,直接使用即可. 使用方法: 在webpack.dev.conf.js和webpack.prod. ...