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,这样可以在里面建包,名字不重复。

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

 

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>

 

 

 

 

你可能感兴趣的:(spring,AOP,.net,Flex,asp.net)