企业开发框架NHibernate和Spring.Net简介-3
企业开发框架NHibernate和Spring.Net简介-3
2008-03-24 13:59
3.面向方面编程(AOP)
面向方面编程是对面向对象编程(OOP)的补充,是另外一种思考编程框架的方法。面向对象是将应用分解成具有层次结构的对象;而面向方面编程则是把程序分解成方面或者关注点,使诸如事务管理等方面的模块化成为可能。Spring.NET中很关键的一个组件就是AOP框架。能够帮助Spring.NET的 IoC容器为企业应用提供一个非常强大的中间件解决方案。
AOP用于Spring.NET可以完成下列功能。
![]() ![]() 用户不但可以把Spring.NET AOP看作是能够不通过COM+就可以提供公开事务管理的技术,而且还可以充分发挥Spring.NET AOP框架的功能区实现定制方面。
通过上面的介绍读者可能对AOP已经有了一个大致的了解,下面介绍几个关于AOP的概念。
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 4.Spring.NET应用实例
下面以经典的Movie Finder作为Spring.NET应用实例来讲解IoC容器的使用方法。实例的C#代码可以在Spring.NET发布版的examples/Spring/Spring.Examples.MovieFinder目录中找到。
(1)Movie Finder。MovieFinder例子的起始类是MovieApp类,这是具有单一应用程序入口点的普通.NET类。代码如下所示:
#001 using System;
#002 namespace Spring.Examples.MovieFinder
#003 {
#004 public class MovieApp
#005 {
#006 public static void Main ()
#007 {
#008 }
#009 }
#010 }
现在想做的是获得一个对MovieFinder类实例的引用。这是Spring.NET例子,所以要从Spring.NET的IoC容器类IApplicationContext获得这个引用。应用程序配置文件中的IApplicationContext配置信息如下:
#001 <?xml version="1.0" encoding="utf-8" ?>
#002 <configuration>
#003 <configSections>
#004 <sectionGroup name="spring">
#005 <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
#006 <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
#007 </sectionGroup>
#008 </configSections>
#009 <spring>
#010 <context>
#011 <resource uri="config://spring/objects"/>
#012 </context>
#013 <objects>
#014 <description>An example that demonstrates simple IoC features.</description>
#015 </objects>
#016 </spring>
#017 </configuration>
将在应用程序示例中用到的对象配置成嵌套在<objects/>元素中的<object/>元素。
|