spring 属性注入

Spring的核心技术室依赖注入,下面是依赖注入之属性注入的实现过程,牛刀小试,请看效果。

1、首先添加Spring.Web引用。本例中是使用分层思想来演示的,下面是项目的结构和UserModel类的内容,为了简单操作,只有一个Name属性

spring 属性注入

spring 属性注入

2、修改Web.Config文件,配置注入环境

spring 属性注入
    <configSections>

        <sectionGroup name="spring">

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

      <!-- 支持在 web.config 中定义对象 -->

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

        </sectionGroup>

    </configSections>
添加Spring的SectionGroup
spring 属性注入
 <system.web>

    <compilation debug="true" targetFramework="4.0"/>

    <httpModules>

      <!-- Spring 提供的 Module  -->

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

    </httpModules>
添加HttpModule配置
spring 属性注入
 <httpHandlers>

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

      <!-- 取消 Spring.NET 对于 Web 服务的处理 -->

      <!--<add verb="*" path="*.asmx" type="Spring.Web.Services.WebServiceHandlerFactory, Spring.Web"/>-->

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

      <add verb="*" path="*.ashx" type="Spring.Web.Support.DefaultHandlerFactory, Spring.Web"/>

    </httpHandlers>
添加HttpHandler配置
spring 属性注入
    </configSections>

    <spring>

        <context>

      <!---外部文件注入-->

      <!--<resource uri="Configration.xml"/>-->

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

    </context>



    <objects>

      <!--id为自定义的id和下面要注入的页面property节点下的framework要保持一致,type为要注入的属性的所在类 -->

      <object id="framework" type="Spring.Model.UserModel,Spring.Model">

        <!--name为注入的属性,value为属性的值-->

        <property name="Name" value="Spring.NET"/>

      </object>

      

      <!--页面注入-->

      <object type="~/Default.aspx">

        <property name="UserModel" ref="framework"></property>

      </object>

    </objects>

    </spring>
依赖注入配置

3、实现注入

spring 属性注入
    /// <summary>

        /// 定义注入点

        /// </summary>

        public UserModel UserModel { set; get; }



        protected void Page_Load(object sender, EventArgs e)

        {

            if (this.UserModel != null)

            {

                Label1.Text = this.UserModel.Name;

            }

        }
实现注入

4、效果图

spring 属性注入

你可能感兴趣的:(spring)