Spring.NET学习笔记7——依赖对象的注入(基础篇) Level 200

  

  一、属性注入

  上篇我们简单提到依赖注入的用途。回顾一下所讲内容,发现在object节点下使用了<property name="Tool" ref="computer"/>。而property 标签正是用来属性注入的。而ref是用来标识是关联到哪个object。而name属性是指属性名。如下:<object id="modernPerson" type="SpringNetIoC.ModernPerson, SpringNetIoC">
        
<property name="Tool" ref="computer"/>
</object>

值类型的注入是需要使用property 节点的value属性。如<property name="Name" value="Liu Dong"/>

作为内联类型可以使用如下:
<property name="Friend">
          <object type="SpringNetDi.Person, SpringNetDi"/>
</property>
同理,内联类型可以是循环引用的对象(见代码处)。

  二、构造函数注入

构造器注入使用constructor-arg标签作为标识。同样具有于属性注入相同的方式,使用namerefvalue作为构造器注入的属性,如下:
<constructor-arg name="argPerson" ref="person"/>
<constructor-arg name="intProp" value="1"/>


 

  程序的代码如下:

    public class Person
    
{
        
public string Name getset; }
        
public int Age getset; }
        
public Person Friend getset; }
    }

 

PersonDao

 

App.config

 

 

Program

 

  输出效果如下:

 

 

 

 

 

 代码下载

 

 

  返回目录

posted @   冬子哥  阅读(19919)  评论(27编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示