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>& ...
随机推荐
- golang 中可变参数的个数
package main import "fmt" func Greeting(prefix string, who ... string) { fmt.Println(prefi ...
- Elasticsearch学习系列之单模式下API的增删改查操作
这里我们通过Elasticsearch的marvel插件实现单模式下API的增删改查操作 索引的初始化操作 创建索引之前可以对索引进行初始化操作,比如先指定shard数量以及replicas的数量 代 ...
- win7开启超级管理员账户(Administrator)
win7开启超级管理员账户(Administrator) 不同于XP系统,Windows7系统据说出于安全的考虑,将超级管理员帐户"Administrator"在登陆界面给隐藏了, ...
- 附录A 思科互联网络操作系统(IOS)
思科互联网络操作系统(IOS) 要点 实现IP编址方案和IP服务,以满足中型企业分支机构网络的网络需求 口在路由器上配置和验证 DHCP和DNS 以及排除其故障(包括 CLI/SDM ). 口配置和验 ...
- 【POJ 3122】 Pie (二分+贪心)
id=3122">[POJ 3122] Pie 分f个派给n+1(n个朋友和自己)个人 要求每一个人分相同面积 但不能分到超过一个派 即最多把一整个派给某个人 问能平均分的最大面积 二 ...
- Memento - 备忘录模式
定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 案例 比方如今有一个画图系统,我们在Viewer里面画了一些图形,可是在绘 ...
- Redis源代码分析(六)--- ziplist压缩列表
ziplist和之前我解析过的adlist列表名字看上去的非常像.可是作用却全然不同.之前的adlist主要针对的是普通的数据链表操作. 而今天的ziplist指的是压缩链表.为什么叫压缩链表呢.由于 ...
- 仅仅需一步教你解决Win10下Android Studio terminal无法使用的问题
Android Studio集成和加入了一些有用的工具.当中一个便是terminal. 在Windows平台下Android Studio中的terminal在原理上实际使用的是window中的cmd ...
- JPA測试实例
依赖架包 实体 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.G ...
- navicat软件设置连接mysql数据库
navicat软件设置连接mysql数据库 适用范围及演示使用工具 适用范围:mysql全部系列(含Linux和Windows系统下的mysql) 演示使用工具:Navicat 8.0 MySQL 演 ...