C# 使用Spring.NET 实现 IOC控制反转,DI依赖注入

导入Common.Logging,Spring.Core

C# 使用Spring.NET 实现 IOC控制反转,DI依赖注入_第1张图片

创建用户信息业务接口类:

IUserInfoService.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SpringNet
{
   public  interface IUserInfoService
    {
      
        string ShowMsg();
    }
}

实现接口:

UserInfoService.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SpringNet
{
    class UserInfoService : IUserInfoService
    {

      public   string UserName { get; set; }
        public Person person { get; set; }
        public string ShowMsg()
        {
            return "Hello World!"+UserName+"年龄是:"+person.Age;
        }
    }
}

Person.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SpringNet
{
    public  class Person
    {
        private int age;
        private string name;

        public int Age { get => age; set => age = value; }
        public string Name { get => name; set => name = value; }
    }
}

配置App.config



  
    
      
An example that demonstrates simple IoC features.

Services.xml



  An  example that demonstrates simple IoC features.
  
    
    
  
  
    
  

需要设置xml文件属性为 复制到输出目录。

关键代码:

IApplicationContext ctx = ContextRegistry.GetContext();
            IUserInfoService lister = (IUserInfoService)ctx.GetObject("UserInfoService");
            MessageBox.Show(lister.ShowMsg());

项目结构:

C# 使用Spring.NET 实现 IOC控制反转,DI依赖注入_第2张图片

运行结果:

C# 使用Spring.NET 实现 IOC控制反转,DI依赖注入_第3张图片

你可能感兴趣的:(.NET,FrameWork)