spring.net + Nhibernate 这个让我搞的头大的东西

雪狐狼 2008-12-12 01:42:03
spring.net + Nhibernate 做开发。大多数人会使用到HibernateTemplate。

我在看过spring.net 自带的例子,然后通过他的配置和方法,在访问数据调用的时候,HibernateTemplate 为null.

说明注入失败吗?
<?xml version="1.0" encoding="utf-8"?>
<configuration>

<configSections>

<!-- Spring -->

<sectionGroup name="spring">

<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>

<section name="objects" type="Spring.Context.Support.DefaultSectionHandler,

Spring.Core"/>

<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler,

Spring.Core"/>

</sectionGroup>

</configSections>



<!-- Spring -->

<spring>

<parsers>
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/>
</parsers>

<context>

<resource uri="config://spring/objects"/>

</context>

<objects xmlns="http://www.springframework.net" xmlns:db="http://www.springframework.net/database">


<db:provider id="DbProvider"
provider="SqlServer-2.0"
connectionString="Data Source=.\SQLEXPRESS;Database=Test;Integrated Security=true;User Instance=false; uid=sa;pwd=321"/>



<object type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer,Spring.Core">

<property name="ConfigSections" value="databaseSettings"/>

</object>



<object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject,Spring.Data.NHibernate12">

<property name="DbProvider" ref="DbProvider"/>

<property name="MappingAssemblies">

<list>
<value>SpringHibernate.Net.Model</value>
<value>SpringHibernate.Net.BaseClass</value>

</list>

</property>

<property name="HibernateProperties">
<dictionary>
<entry key="hibernate.connection.provider"
value="NHibernate.Connection.DriverConnectionProvider"/>
<entry key="dialect"
value="NHibernate.Dialect.MsSql2005Dialect"/>
<entry key="hibernate.connection.driver_class"
value="NHibernate.Driver.SqlClientDriver"/>

</dictionary>
</property>

</object>





<object name="MyMathObj" type="SpringHibernate.Net.BaseClass.DMath,SpringHibernate.Net.BaseClass" />

<object id="PersonDAO" type="SpringHibernate.Net.BaseClass.PersonDAO, SpringHibernate.Net.BaseClass">
<property name="SessionFactory" ref="SessionFactory"/>

</object>



<!-- Pages -->

<object type="Default.aspx">
<property name="Message" value="Hello from Web.Config"/>
<property name="DMath" ref="MyMathObj"/>
<property name="PersonDAO" ref="PersonDAO"/>

</object>

</objects>
</spring>

</configuration>


配置有错误吗?

public partial class _Default : System.Web.UI.Page
{
IPersonDAO personDAO;

public IPersonDAO PersonDAO
{

get { return personDAO; }

set { personDAO = value; }

}
protected void Page_Load(object sender, EventArgs e)
{

//Response.Write(message);
Response.Write(DMath.add(30, 50));




Person p = new Person();

p.Name = "Maruf";

personDAO.Save(p);

Person p1 = personDAO.LoadByID(1);



}
}

刚接触,所以有很多的不懂,望高手指点!
...全文
212 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
失去乐山贼 2011-04-13
  • 打赏
  • 举报
回复
我的也是未将对象引用设置到对象实例, HibernateTemplate.Save(user);

还有web.config老是


消息 1 未能找到元素“SpringOverrideProperty”的架构信息。 D:\4-13MSPRO\SpringHiberate_pro\SpringHiberate\Web.config 12 4 SpringHiberate
消息 2 未能找到元素“add”的架构信息。 D:\4-13MSPRO\SpringHiberate_pro\SpringHiberate\Web.config 13 6 SpringHiberate
消息 3 未能找到属性“key”的架构信息。 D:\4-13MSPRO\SpringHiberate_pro\SpringHiberate\Web.config 13 10 SpringHiberate

有很多这样的信息,应该是标签不能识别吧,我也是刚接触Spring.NET+NHibernate的,还是觉得Java的SSH框架比较友好。
fskang 2009-02-05
  • 打赏
  • 举报
回复
把你的配置文件贴出来我看看。spring.net是可以在运行时进行注入。但是是有限制的,比如你的构造注入是无法完成的。
雪狐狼 2008-12-17
  • 打赏
  • 举报
回复
thank you!

spring.net 的依赖注入,怎么会不能注入呢?
spring.net + Nhibernate + asp.net mvc+extjs已经有产品出现。

我所碰到的问题是,在配置中应该存在问题。导致运行时注入对象不能得到实例化。

在国外站点我已经找到一点东西。
但是所有的配置全部整合到web.config里。导致该文件的数据臃肿。
我于是切出来,配置中导致model里类都不能加载,这个问题,又让我困惑中努力……


感谢两位谢谢。该贴继续等待解答……
fskang 2008-12-12
  • 打赏
  • 举报
回复
BS的不太明白。但是页面是由Asp.net创建的吧。spring可能无法注入吧。cs可以封装一个Dao工厂。
jummy_lin 2008-12-12
  • 打赏
  • 举报
回复
另外,这个问题这么有难度,是不是10点太少啦?
jummy_lin 2008-12-12
  • 打赏
  • 举报
回复
你要做的只是做持久化的数据访问,需要用Spring吗?我前面做过Nhibernate,只有Nhibernate就可以做到了
Spring我没有研究过。
但我有现成的例子,数据库是Oracle,Nhibernate的版本是2.0.1,最稳定的版本。我看你使用的好像还是1.2

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧