整合asp.net mvc4,Spring.net,nhibernate实现分层开发
2014-04-03 16:19
525 查看
1,在web.config配置中添加如下配置信息,同时指定Spring.net的核心配置文件services.xml和Objects.xml。 <configSections> <sectionGroup name="spring"> <!--<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>--> <section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc4"/> <!--<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>--> <section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/> </sectionGroup> </configSections> <spring> <parsers> <parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/> <parser type="Spring.Aop.Config.AopNamespaceParser, Spring.Aop"/> <parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data"/> </parsers> <context> <resource uri="file://~/services.xml"/> <resource uri="file://~/Objects.xml"/> </context> </spring> 2,services.xml配置详细信息。配置nhibernate的时候一定要注意版本这里用的是NHibernate33。<pre code_snippet_id="272651" snippet_file_name="blog_20140403_1_5010741" name="code" class="html"><?xml version="1.0" encoding="utf-8" ?> <objects xmlns="http://www.springframework.net" xmlns:db="http://www.springframework.net/database" xmlns:tx="http://www.springframework.net/tx"> <db:provider id="DbProvider" provider="System.Data.SqlClient" connectionString="Data Source=(local);Database=test;User ID=sa;Password=123456;Trusted_Connection=False"/> <object id="MySessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate33"> <property name="DbProvider" ref="DbProvider"/> <property name="ExposeTransactionAwareSessionFactory" value="true" /> <property name="MappingAssemblies"> <list> <value>SpringMvcDemo</value> </list> </property> <property name="HibernateProperties"> <dictionary> <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/> <entry key="dialect" value="NHibernate.Dialect.MsSql2008Dialect"></entry> <entry key="bytecode.provider" value="Spring.Data.NHibernate.Bytecode.BytecodeProvider"></entry> <entry key="show_sql" value="true"></entry> <entry key="use_outer_join" value="true"/> <entry key="command_timeout" value="60"/> <!--<entry key="hibernate.current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate33"/>--> <entry key="hibernate.current_session_context_class" value="thread-static"></entry> </dictionary> </property> </object> <object id="HibernateTemplate" type="Spring.Data.NHibernate.Generic.HibernateTemplate"> <property name="SessionFactory" ref="MySessionFactory" /> <property name="TemplateFlushMode" value="Auto" /> <property name="CacheQueries" value="true" /> </object> <object id="adoTemplate" type="Spring.Data.Core.AdoTemplate, Spring.Data"> <property name="DbProvider" ref="DbProvider"/> </object> <object id="transactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate33"> <property name="DbProvider" ref="DbProvider"/> <property name="SessionFactory" ref="MySessionFactory"/> </object> <!--<object id="transactionInterceptor" type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data"> <property name="TransactionManager" ref="transactionManager"/> <property name="TransactionAttributeSource"> <object type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data"/> </property> </object>--> <!--<object id="BaseTransactionManager" type="Spring.Transaction.Interceptor.TransactionProxyFactoryObject, Spring.Data" abstract="true"> <property name="PlatformTransactionManager" ref="transactionManager"/> <property name="TransactionAttributes"> <name-values> --> <!--增加--><!-- <add key="Save*" value="PROPAGATION_REQUIRED"/> --><!--修改--><!-- <add key="Update*" value="PROPAGATION_REQUIRED"/> --><!--删除--><!-- <add key="Delete*" value="PROPAGATION_REQUIRED"/> --><!--获取--><!-- <add key="Get*" value="PROPAGATION_REQUIRED"/> --><!--浏览--><!-- <add key="Find*" value="PROPAGATION_SUPPORTS,readOnly"/> --><!--检索--><!-- <add key="Search*" value="PROPAGATION_SUPPORTS,readOnly"/> --><!--报表--><!-- <add key="Query*" value="PROPAGATION_SUPPORTS,readOnly"/> --><!--载入--><!-- <add key="Load*" value="PROPAGATION_SUPPORTS,readOnly"/> --><!--报表--><!-- <add key="Report*" value="PROPAGATION_SUPPORTS,readOnly"/> --><!--其它--><!-- <add key="*" value="PROPAGATION_REQUIRED"/> </name-values> </property> </object>--> <object type="Spring.Dao.Attributes.PersistenceExceptionTranslationPostProcessor, Spring.Data"/> <!--<import resource="~/Objects.xml"/>--> </objects> 3,Objects.xml详细配置信息
<?xml version="1.0" encoding="utf-8" ?> <objects xmlns="http://www.springframework.net" xmlns:tx="http://www.springframework.net/tx"> <object id="personDao" type="SpringMvcDemo.Models.Daos.PersonDao,SpringMvcDemo"> <property name="hibernateTemplate" ref="HibernateTemplate"></property> </object> <object id="SessionTestDao" type="SpringMvcDemo.Models.Daos.SessionTestDao,SpringMvcDemo"> <property name="iSessionFactory" ref="MySessionFactory"></property> </object> <object id="baseDao" type="SpringMvcDemo.Models.Daos.BaseDao,SpringMvcDemo"> <property name="hibernateTemplate" ref="HibernateTemplate"></property> </object> <object id="aDOTemplateDao" type="SpringMvcDemo.Models.Daos.ADOTemplateDao,SpringMvcDemo"> <property name="adoTemplate" ref="adoTemplate"></property> </object> <object id="adoQueryDao" type="SpringMvcDemo.Models.Daos.AdoQueryDao,SpringMvcDemo"> <constructor-arg name="dbProvider" ref="DbProvider"></constructor-arg> </object> <!-- =========================================================================================== --> <object id="showInfoService" type="SpringMvcDemo.Services.ShowInfoService,SpringMvcDemo"> <property name="sessionTestDao" ref="SessionTestDao"></property> <!--<property name="baseDao" ref="baseDao"></property>--> </object> <object id="personService" type="SpringMvcDemo.Services.PersonService,SpringMvcDemo"> <property name="personDao" ref="personDao"></property> </object> <object id="ADOService" type="SpringMvcDemo.Services.ADOService,SpringMvcDemo"> <property name="aDOTemplateDao" ref="aDOTemplateDao"></property> <property name="adoQueryDao" ref="adoQueryDao"></property> </object> <!-- =========================================================================================== --> <object id="homeController" type="SpringMvcDemo.Controllers.HomeController,SpringMvcDemo" singleton="false"> <property name="showInfoService" ref="showInfoService"></property> <property name="personService" ref="personService"></property> <property name="aDOService" ref="ADOService"></property> </object> </objects> 4,映射配置文件详细 <pre code_snippet_id="272651" snippet_file_name="blog_20140403_2_2088565" name="code" class="html"><?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="SpringMvcDemo.Models.Beans" assembly="SpringMvcDemo"> <class name="Person" table="Person"> <id name="ID" column="ID"> <generator class="identity" ></generator> </id> <property name="userid" column="userid"></property> <property name="username" column="username"></property> <property name="usersex" column="UserSex"></property> <property name="userstate" column="UserState"></property> </class> </hibernate-mapping>
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- c#调用COM组件
- 星外ASP.Net的安全设置相关说明
- c#中虚函数的相关使用方法
- 浅析C# web访问mysql数据库-整理归纳总结
- C# IP地址与整数之间转换的具体方法
- C#中的多态深入理解
- C#实现的阴历阳历互相转化类实例
- C# 的关键字详细介绍
- c# 获得局域网主机列表实例
- C#基本概念列举详解
- C#中Convert.ToInt32()和int.Parse()的区别介绍
- C#面向对象特征的具体实现及作用详解
- c#静态方法和非静态方法详细介绍
- 关于C# Math 处理奇进偶不进的实现代码
- C#中调用Windows API的技术要点说明
- c# 随机函数的使用详解
- c#之圆形无标题栏椭圆窗体的实现详解
- C#页面之间跳转功能的小结
- 浅析C# 基础语法的使用