以前都在使用NHibernate,今天终于把SpringNet也加进来了,因为最初是在java中接触的hibernate和spring,而在.net中这两者非常相似,所以我的配置有点模仿java了,看一下使用的版本吧:NHibernate1.2,Springnet1.1,netframework2.0,如今的配置可能有点落伍了,不过先一步一步来,以后还会升级的,看代码:
web.config<?xml version="1.0"?><configuration> <configSections>
<sectionGroup name="spring"> <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/> <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/> </sectionGroup> <section name="SpringOverrideProperty" type="System.Configuration.NameValueSectionHandler"/> <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <spring> <context> <resource uri="config://spring/objects"/> <resource uri="assembly://SpringResource.App/SpringResource/spring_bean_dao.xml"/> </context> <objects xmlns="http://www.springframework.net%22/> </spring> <appSettings /> <system.web> <sessionState timeout="30" mode="StateServer" /> <pages validateRequest="false" /> <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" uiCulture="zh-CHS"/> <compilation debug="true"> <assemblies /> </compilation> <authentication mode="Windows"/> <httpModules> <add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/> </httpModules> <httpHandlers> <add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/> </httpHandlers> </system.web></configuration>v
这里面已经使用了springnet的web框架,这样就可以对aspx页面进行依赖注入了.............
spring_bean_dao.xml<?xml version="1.0" encoding="utf-8" ?><objects xmlns="http://www.springframework.net/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.net/ http://www.springframework.net/xsd/spring-objects.xsd"> <!--Nhibernate的SessionFactory的封装的对像的定义--> <object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate12"> <property name="DbProvider" ref="DbProvider" /> <property name="MappingAssemblies"> <list> <value>SpringDemo.Model</value> </list> </property> <property name="HibernateProperties"> <dictionary> <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" /> <entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect" /> <entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" /> <entry key="show_sql" value="true" /> </dictionary> </property> </object>
<!--配置驱动,这里类似java中的驱动包--> <object id="DbProvider" type="Spring.Data.Common.DbProviderFactoryObject,Spring.Data"> <property name="Provider" value="SqlServer-2.0"/> <property name="ConnectionString" value="Data Source=(local);Database=Web;User ID=sa;Password=sa;Trusted_Connection=False"/> </object> <object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate12"> <property name="DbProvider" ref="DbProvider" /> <property name="sessionFactory" ref="sessionFactory" /> </object> <!--Nhibernate中的Transaction封装对像--> <object id="TransactionInterceptor" type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data"> <property name="TransactionManager" ref="HibernateTransactionManager" /> <property name="TransactionAttributeSource"> <object type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data" /> </property> </object>
<!-- DAO--> <object id="UserDaoImpl" type="SpringDemo.Dao.UserDaoImpl, SpringDemo.Dao"> <property name="SessionFactory" ref="SessionFactory"/> </object>
<!-- BIZ --> <object id="UserBizImpl" type="SpringDemo.Biz.UserBizImpl,SpringDemo.Biz"> <property name="UserDao" ref="UserDaoImpl"/> </object>
<!-- Aspx --> <object type="~/Default.aspx"> <property name="UserBiz" ref="UserBizImpl" /> </object></objects><?xml version="1.0" encoding="utf-8" ?><objects xmlns="http://www.springframework.net/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.net/ http://www.springframework.net/xsd/spring-objects.xsd"> <!--Nhibernate的SessionFactory的封装的对像的定义--> <object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate12"> <property name="DbProvider" ref="DbProvider" /> <property name="MappingAssemblies"> <list> <value>SpringDemo.Model</value> </list> </property> <property name="HibernateProperties"> <dictionary> <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" /> <entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect" /> <entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" /> <entry key="show_sql" value="true" /> </dictionary> </property> </object>
<!-- Aspx --> <object type="~/Default.aspx"> <property name="UserBiz" ref="UserBizImpl" /> </object></objects>
真想给你一个大大的拥抱。我找了好久的重定向问题,最后竟然是一个斜杠的问题,终于解决了,这感觉,顿时轻松。谢谢楼主
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构