Spring.net + FluorineFx 项目搭建 之 一、搭建Spring环境(配置文件)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Spring.net + FluorineFx 项目搭建 之 一、搭建Spring环境(配置文件)

Spring.net + FluorineFx 项目搭建 之 一、搭建Spring环境(配置文件)

 2010/9/19 23:40:21  limingnihao  http://limingnihao.javaeye.com  我要评论(0)
  • 摘要:一、搭建Spring.net环境1.1建工程及类库首先我们要建立解决方案,以及所需要的各种类库。过程中,编写一个用户登陆的功能。1.1.1需要安装的程序MicrosoftVisualStudio2008。(开发环境,不用多说);FX_setup.exe。(与Flex前台通信的插件);EnterpriseLibrary。(企业类库);ODTwithODAC1110720.(Oracle客户端);1.1.2建立各种功能项目首先新建一个“空白解决方案”。然后依次一下类库。添加项目
  • 标签:Spring.net FluorineFx 项目搭建 搭建Spring环境 配置文件

??一、搭建Spring.net环境

1.1 建工程及类库

首先我们要建立解决方案,以及所需要的各种类库。过程中,编写一个用户登陆的功能。

?

1.1.1 需要安装的程序

Microsoft Visual Studio 2008。(开发环境,不用多说);
FX_setup.exe。(与Flex前台通信的插件);
Enterprise Library。(企业类库);
ODTwithODAC1110720.(Oracle客户端);

?

1.1.2 建立各种功能项目

首先新建一个“空白解决方案”。然后依次一下类库。

添加项目。????

序号

项目

类库

名称

用途

添加的引用

新建项目

FuorineFx ServiceLibrary

Li. FuorineFx

Flex通信相关

DataExtensionInterfaceService

新建网站

FluorineFx ASP.NET Web Site

Li.WebService

Flex通信相关

?

新建类库

Aspect

Li. Aspect

代码注入

?Data、

新建类库

Data

Li.Data

实体类

?

新建类库

DataAccess

Li. DataAccess

数据库操作

?Data

新建类库

Extension

Li. Extension

附加类方法

?

新建类库

Interface

Li. Interface

借口

?

新建类库

Service

Li. Service

业务处理

?DataExtensionInterfaceService

?

最后把类库的默认命名空间改成Li,这样可以在里面建包,名字不重复。

?

?

1.2 添加、更改配置文件

?

1.3.2 添加类库配置文件

文件属性,生成操作:嵌入资源。不改此项会报错。


①Service类库配置文件

<?xml version="1.0" encoding="utf-8"?>
      <objects xmlns="http://www.springframework.net">
</objects>

?


②DataAccess类库配置文件

<?xml version="1.0" encoding="utf-8"?>
 <objects xmlns="http://www.springframework.net" xmlns:db="http://www.springframework.net/database">

  <object type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer, Spring.Core">
    <property name="ConfigSections" value="dbSettings" />
  </object>

  <db:provider id="dbProvider" provider="Oracle.DataAccess.Client" connectionString="DATA SOURCE=${db.source};PERSIST SECURITY INFO=True;USER ID=${db.user};PASSWORD=${db.password};MAX POOL SIZE=100" />

  <object id="adoTemplate" type="Spring.Data.Generic.AdoTemplate, Spring.Data">
    <property name="DbProvider" ref="dbProvider" />
    <property name="DataReaderWrapperType" value="Spring.Data.Support.NullMappingDataReader, Spring.Data" />
  </object>

  <object id="transactionManager" type="Spring.Data.Core.AdoPlatformTransactionManager, Spring.Data">
    <property name="DbProvider" ref="dbProvider" />
  </object>

</objects>

??

1.3.3 更改Web.config配置文件?

①在configSections中添加

sectionGroup name="spring" >

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

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

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

</sectionGroup>

?


②在configuration中添加

?

<spring>

  <parsers>

    <parser type="Spring.Aop.Config.AopNamespaceParser, Spring.Aop"/>

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

    <parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data"/>

  </parsers>

  <context type="Spring.Context.Support.WebApplicationContext, Spring.Web">

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

  </context>

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

    <import resource="assembly://Li.DataAccess/Li.Config/Dao.xml"/>

    <import resource="assembly://Li.Service/Li.Config/Service.xml"/>  </objects>

</spring>

?


③在httpHandlers中添加

<remove path="*.aspx" verb="*"/>

<add path="*.aspx" verb="*" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>

?


④在httpModules中添加

<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>

?


⑤在system.webServer 下的modules中添加

<remove name="Spring"/>

<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>

?


⑥在system.webServer handlers中添加

?

<remove name="SpringContextMonitor"/>

<remove name="SpringPageHandler"/>

<add name="SpringContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>

<add name="SpringPageHandler" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>

?


⑦添加数据库标签

<!-- 新加数据库标签 -->

Ⅰ、在configSections中添加

<section name="dbSettings" type="System.Configuration.NameValueSectionHandler"/>

 

Ⅱ、在configuration中添加

  <dbSettings>

    <add key="db.source" value="192.1.1.108:1521/uims"/>

    <add key="db.user" value="uims"/>

    <add key="db.password" value="uims"/>

  </dbSettings>

?


⑧声明代码注入(此处在建立完相应的类后添加)
?

<object id="interceptorMethod" type="Li.Aspect.InterceptorMethod, Li.Aspect"/>

<object id="interceptorThrow" type="Li.Aspect.InterceptorThrow, Li.Aspect"/>

<object id="interceptorTransaction" type="Li.Aspect.InterceptorTransaction, Li.Aspect"/>

 

<!-- 声明切入点1 -->

<object id="serviceMethodAttributePointcut" type="Spring.Aop.Support.AttributeMatchMethodPointcut, Spring.Aop">

  <property name="Attribute" value="Li.Attributes.GeneralAttribute, Li.Aspects"/>

</object>

 

<!-- 声明切入点2 -->

<object id="transactionAttributePointcut" type="Spring.Aop.Support.AttributeMatchMethodPointcut, Spring.Aop">

  <property name="Attribute" value="Spring.Transaction.Interceptor.TransactionAttribute, Spring.Data"/>

</object>

 

<!--关联切入点1-->

<aop:config>

  <aop:advisor advice-ref="interceptorMethod" pointcut-ref="serviceMethodAttributePointcut"/>

  <aop:advisor advice-ref="interceptorThrow" pointcut-ref="serviceMethodAttributePointcut"/>

</aop:config>

<tx:attribute-driven/>

<!--关联切入点2-->

<aop:config>

  <aop:advisor advice-ref="interceptorTransaction" pointcut-ref="transactionAttributePointcut"/>

</aop:config>

?

?

?

?

发表评论
用户名: 匿名