spring.net项目应用实践

是什么

    Spring.NET为建立企业级应用提供了一套轻量级的解决方案。通过Spring.NET,我们可以用统一且透明的方式来配置应用程序。Spring.NET的重点是为中间层提供声明式事务管理,以及一个功能齐全的ASP.NET扩展框架。

    简单来说,Spring.NET是企业级应用的一套框架,进一步解耦合。



功能

    Spring.NET提供了很多功能,包括控制反转(IoC)、依赖注入(DI)、面向切面编程(AOP)、数据访问抽象以及ASP.NET集成。接下来进行重点介绍。


控制反转(loC)

    一般来说,我们如果想要在A类中实现B类,那么久直接在A中实例化B,即B b= new B();但是,这样做的结果是耦合性太高,违背了高内聚低耦合的原则。所以,spring.net就提供了一套控制反转机制,实例化的工作是由spring来做,而不是让调用者A来做,进行了反转,所以称之为“控制反转”。


依赖注入(DI)

    依赖注入一般和控制反转配套着来说,当创建被调用者的工作由spring来完成的时候,同时注入调用者。因此,我们可以再构造器中决定依赖关系的顺序。同样,我可以注入一些属性,到时直接使用。无论我想注入什么,只需要按照我想要的进行简单的扩展就好,极大体现开放-封闭原则。


面向切面编程(AOP)

    这里我们可以和面向过程编程、面向对象编程进行对比,以此更好理解面向切面编程。

    面向过程编程,一切以过程为中心,按照操作过程进行编程。面向对象编程,一切以对象为中心,将所有抽象封装成类,三大特点为封装、继承和多态。而面向切面编程,则是主要针对业务处理过程的切面为中心,即面对的是处理过程的某个步骤和阶段。

    例如,大型项目中,复杂程度越来越高,面向对象有了弊端,AOP从系统中分离出来方面,然后集中实现,从而可以独立编写业务逻辑代码,系统运行过程时,再将方面代码织入到系统中,使得系统的功能得以扩展。

    使用spring进行管理,减少实例化的过程,方便从业务逻辑为切面入手。



实践 

    下面截取重点体现以上功能的代码,并进行解析。

<?xml version="1.0" encoding="utf-8" ?> 
<objects xmlns="http://www.springframework.net">
  <description>An  example that demonstrates simple IoC features.</description>
  <object id="ibll" type="BLL.bll,BLL" singletion="flase">
       <property name="idal" ref="idal" />
  </object>
</objects>
1.object设置对象的ID,例如B层的接口IBLL,type为完整类型名称和类型。

2.property为子节点的值,因为我们要在BLL层调用IDAL的接口,所以在这里进行注入。

3.还可以设置为单例模式,只要把object的singletion设置为true。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值