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>& ...
随机推荐
- [bzoj2251][2010BeiJing Wc]外星联络_后缀数组
外星联络 bzoj-2251 2010-BeiJing Wc 题目大意:题目链接. 注释:略. 想法: 这咋做啊????一看数据范围才$3\cdot 10^3$. 建立后缀数组. 所以我们将所有后缀排 ...
- [bzoj2443][Usaco2011 Open]奇数度数_树形dp_生成树_并查集
奇数度数 bzoj-2443 Usaco-2011 Open 题目大意:给定一个n个点m条便有向图,问是否有一种选出一些边的方式使得所有点的度数都是奇数. 注释:$1\le n \le 5\cdot ...
- 深入理解hadoop(二)
hadoop RPC 网络通信是hadoop的核心模块之一,他支撑了整个Hadoop的上层分布式应用(HBASE.HDFS.MapReduce), Hadoop RPC具有以下几个特性,透明性(用户本 ...
- 【编程大系】Java资源汇总
1.学习资料: 1)Spring Boot 那些事:https://www.w3cschool.cn/springboot/ 对应的 gitHub代码: https://github.com/Jeff ...
- JavaScript为字符串添加样式
<script type="text/javascript"> var txt="Hello World!" document.write(&quo ...
- mysql性能调优——锁优化
影响mysql server性能的相关因素 需求和架构及业务实现优化:55% Query语句优化:30% 数据库自身优化:15% 很多时候大家看到数据库应用系统中性能瓶颈出现在数据库方面,就希望通过数 ...
- Linux纯Shell实现DNSPod动态域名
http://www.anrip.com/post/872 开发背景: 公司有台嵌入式拨号上网设备,内置busybox和完整wget命令(支持https协议),但没有curl.python.ruby. ...
- node-load module
javscript :脚本建共享全局名称空间(全局污染). node:实现CommonJS(公共)模块标准. Node加载模块,有两种方式: 1.通过名称 除非是核心模块,否则被引用的模块最后都会映射 ...
- CLR-基元类型以及溢出检查 (CLR-Via-C#) 类型基础
CLR-基元类型以及溢出检查 =========(CLR via C#阅读笔记)======== 基元类型(primitive type): 基元类型也不做过多的解释,举个例子即可清晰的辨别 在j ...
- linux下alias命令具体解释
linux下alias命令具体解释 用途说明 设置命令的别名.在linux系统中假设命令太长又不符合用户的习惯,那么我们能够为它指定一个别名. 尽管能够为命令建立"链接" 解决长文 ...