Spring.Net学习笔记(0)-错误汇总
1.错误一:ObjectDefinitionStoreException
“Spring.Objects.Factory.ObjectDefinitionStoreException”类型的未经处理的异常在 Spring.Core.dll 中发生
通过看详细信息,原来是找不到文件
未能找到文件“F:\20160221\Demo\CPrj\bin\Debug\objects.xml”。
处理方式:将objects.xml的【复制到输出目录】设置为始终复制
2.错误二:annotLoadObjectTypeException
“Spring.Core.CannotLoadObjectTypeException”类型的未经处理的异常在 Spring.Core.dll 中发生
通过看详细信息,原来是找不到对象的定义
Cannot resolve type [Person] for object with name 'Person' defined in file [F:\20160221\Demo\CPrj\bin\Debug\objects.xml] line 3
处理方式
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="Person" type="CPrj.Person,Cprj"></object>
</objects>
3.错误三:ConfigurationErrorsException
“System.Configuration.ConfigurationErrorsException”类型的未经处理的异常在 Spring.Core.dll 中发生
查看详细信息,原来是找不到配置文件(obejcts拼错了)
Error creating context 'spring.root': 未能找到文件“F:\20160221\Demo\CPrj\bin\Debug\obejcts.xml”。
处理方式
<spring>
<context>
<resource uri="file://objects.xml"></resource>
</context>
</spring>
4.错误四:TypeInitializationException
“System.TypeInitializationException”类型的未经处理的异常在 CPrj.exe 中发生
查看详细信息
“Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常。
处理方式:把<startup>放到最后一个节点
<?xml version="1.0" encoding="utf-8" ?>
<configuration> <configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"></section>
</sectionGroup>
</configSections> <spring>
<context>
<resource uri="file://objects.xml"></resource>
</context>
</spring> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
5.使用属性注入时,报了如下错
Error creating context 'spring.root': 'MovieFinder' node cannot be resolved for the specified context [Spring.Examples.MovieFinder.MovieLister
意思是说,在MovieLister类中,找不到属性名为MovieFinder项
看了下配置文件,如下
<objects xmlns="http://www.springframework.net">
<object name="MyMovieLister" type="Spring.Examples.MovieFinder.MovieLister,Spring.Examples.MovieFinder">
<property name="MovieFinder" ref="MyMovieFinder"></property>
</object>
<object name="MyMovieFinder" type="Spring.Examples.MovieFinder.MovieFinder,Spring.Examples.MovieFinder"></object>
<!--<description>An example that demonstrates simple Ioc features</description>-->
</objects>
再看下MovieLister类
public class MovieLister
{
private MovieFinder finder;
public List<Movie> MoviesDirectedBy()
{
List<Movie> allMovies = finder.FindAll();
return allMovies;
}
}
发现问题了,不是MovieFinder,是finder;配置文件改成如下,就OK了
<objects xmlns="http://www.springframework.net">
<object name="MyMovieLister" type="Spring.Examples.MovieFinder.MovieLister,Spring.Examples.MovieFinder">
<property name="finder" ref="MyMovieFinder"></property>
</object>
<object name="MyMovieFinder" type="Spring.Examples.MovieFinder.MovieFinder,Spring.Examples.MovieFinder"></object>
<!--<description>An example that demonstrates simple Ioc features</description>-->
</objects>
6.在构造函数注入是报如下错
Error creating context 'spring.root': Cannot instantiate a class that does not have a no-argument constructor [Spring.Examples.MovieFinder.ColonMovieFinder].
原来Spring容器默认在加载的时候,都会尝试预先创建对象。
处理方式一:给ColonMovieFinder一个无参数的构造函数
处理方式二:在配置文件中提供相应的构造函数参数
<objects xmlns="http://www.springframework.net">
<object name="MyMovieLister" type="Spring.Examples.MovieFinder.MovieLister,Spring.Examples.MovieFinder">
<property name="finder" ref="MyMovieFinder"></property>
</object>
<object name="MyMovieFinder" type="Spring.Examples.MovieFinder.MovieFinder,Spring.Examples.MovieFinder"></object>
<object name="AnotherMovieFinder" type="Spring.Examples.MovieFinder.ColonMovieFinder,Spring.Examples.MovieFinder">
<constructor-arg index="0" value="movies.txt"></constructor-arg>
<constructor-arg index="1" value="arg2"></constructor-arg>
</object>
<!--<description>An example that demonstrates simple Ioc features</description>-->
</objects>
7.xml错误
错误代码如下
Error creating context 'spring.root': Unable to locate Spring NamespaceHandler for XML schema namespace []
看了下xml
<objects>
<object name="person" type="SpringNetSetDi.Person,SpringNetSetDi">
<property name="RealName" value=""></property>
</object> <object name="animal" type="SpringNetSetDi.Animal,SpringNetSetDi">
<property name="TypeList">
<list element-type="string">
<value>哺乳类</value>
<value>鸟类</value>
<value>爬行类</value>
<value>昆虫类</value>
<value>两栖类</value>
</list>
</property>
</object>
</objects>
处理方式,objects处加上属性
<objects xmlns="http://www.springframework.net">
<object name="person" type="SpringNetSetDi.Person,SpringNetSetDi">
<property name="RealName" value=""></property>
</object> <object name="animal" type="SpringNetSetDi.Animal,SpringNetSetDi">
<property name="TypeList">
<list element-type="string">
<value>哺乳类</value>
<value>鸟类</value>
<value>爬行类</value>
<value>昆虫类</value>
<value>两栖类</value>
</list>
</property>
</object>
</objects>
8.方法注入时,掉进的坑
事情来源,以下怎么改代码,方法都不能被替换
<object name="replaceValue" type="SpringNetMethodDi.SuperMarket,SpringNetMethodDi"></object>
<object name="realOp" type="SpringNetMethodDi.RealOp,SpringNetMethodDi">
<replaced-method name="Buy" replacer="replaceValue">
<arg-type match="string"/>
</replaced-method>
</object>
以下代码是可以运行的,发现不同了没
<object name="replaceValue" type="SpringNetMethodDi.SuperMarket,SpringNetMethodDi"></object>
<object name="realOp" type="SpringNetMethodDi.RealOp,SpringNetMethodDi">
<replaced-method name="Buy" replacer="replaceValue">
<arg-type match="String"/>
</replaced-method>
</object>
不同之处,竟然是string和String
Spring.Net学习笔记(0)-错误汇总的更多相关文章
- Git学习笔记(0)-错误汇总
一.LF will be replaced by CRLF 1.发现问题 $ git add welcome.txt warning: LF will be replaced by CRLF in w ...
- Spring Boot学习笔记2——基本使用之最佳实践[z]
前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring B ...
- Spring Boot 学习笔记(六) 整合 RESTful 参数传递
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...
- 【转】Spring.NET学习笔记——目录
目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔 ...
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- SpringBoot + Spring Security 学习笔记(三)实现图片验证码认证
整体实现逻辑 前端在登录页面时,自动从后台获取最新的验证码图片 服务器接收获取生成验证码请求,生成验证码和对应的图片,图片响应回前端,验证码保存一份到服务器的 session 中 前端用户登录时携带当 ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
随机推荐
- Ice Cave-CodeForces(广搜)
链接:http://codeforces.com/problemset/problem/540/C You play a computer game. Your character stands on ...
- Ubuntu 16.04安装GTX960闭源驱动
GTX960的闭源要Nvidia 346版才行,闭源驱动能很大提升显卡的性能,例如双显示输出等,缺点是不开源. 有以下方式来安装: 1.命令行: sudo add-apt-repository -y ...
- Kettle循环删除数据
1.问题描述: 某个系统原库的数据同步到备份库.但是由于原库的的数据会物理删除,此时需要删除备份库的数据. 2.不理想的解决1: 1)首先从备份库获取该表的所有ID: 2)循环备份库的ID,去原库检测 ...
- 【转】学习JavaScript闭包
原文: http://www.cnblogs.com/Lau7/p/7942100.html#undefined ------------------------------------------- ...
- HDD
硬盘 SCSI ★ Host adapter ★ SCSI standard ★ Bus socket ★ Signal fashion ★ SCAM ★ Bus main control ★ Dri ...
- Java内存问题的一些见解
在Java中,内存泄露和其它内存相关问题在性能和可扩展性方面表现的最为突出.我们有充分的理由去具体地讨论他们. Java内存模型--或者更确切的说垃圾回收器--已经攻克了很多内存问题. 然而同一时候, ...
- scikit-learn:3. Model selection and evaluation
參考:http://scikit-learn.org/stable/model_selection.html 有待翻译,敬请期待: 3.1. Cross-validation: evaluating ...
- Linux 系统内核空间与用户空间通信的实现与分析
本文转载自:https://www.ibm.com/developerworks/cn/linux/l-netlink/index.html 多数的 Linux 内核态程序都需要和用户空间的进程交换数 ...
- ubuntu 截图工具 Shutter,设置快捷键 Ctrl+Alt+A
系统设置 键盘 快捷键 自定义快捷键
- nestedScrollview 嵌套使用recyclerview判断滑动到底部 (嵌套滑动导致 不能使用recyclerview的onscrolled监听)
NestedScrollView scroller = (NestedScrollView) findViewById(R.id.myScroll); if (scroller != null) { ...