1.创建一个web api项目

2.在项目中创建一个接口类

namespace LearnCore.CoreDI
{
public interface ILearnDI
{
string GetName(string argName);
}
}

3.为接口类创建一个实现类

public class LearnDI : ILearnDI
{
public string GetName(string argName)
{
return $"我的名字是:{argName}";
}
}

4.在startup文件中创建 映射关系

 public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<ILearnDI, LearnDI>();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

5.在控制器中注入,并使用

namespace LearnCore.CoreDI.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
private readonly ILearnDI learnDI;
public ValuesController(ILearnDI arglearnDI)
{
this.learnDI = arglearnDI;
}
[HttpGet(nameof(GetName))]
public string GetName()
{
return learnDI.GetName("希望");
} }
}

最新文章

  1. jdk源码分析PriorityQueue
  2. 关于jsp的总结
  3. CSV - 操作比较
  4. C# 使用Linq递归查询数据库遇到的问题及解决方法
  5. mongoDB初接触
  6. 了解OutOfMemoryError异常 - 深入Java虚拟机读后总结
  7. Arduino库函数中文说明
  8. iOS中动态计算不同颜色、字体的文字高度
  9. NSTimer 不工作 不调用方法
  10. HTML和CSS怎么用
  11. elasticsearch基本使用
  12. CLOUD添加自定义基础数据
  13. Hive-1.2.1_01_安装部署
  14. React-组件 &amp; Props
  15. Android点赞音效播放
  16. Django 时间与时区设置问题
  17. box-shadow 边框样式
  18. 迷你MVVM框架 avalonjs 学习教程19、avalon历史回顾
  19. 关于request对象的parameter和attribute
  20. CDH集群安装配置(一)-集群规划和NAT网络配置

热门文章

  1. 【BZOJ 4516】生成魔咒
  2. storm原理介绍
  3. VC和MATLAB混合开发经验总结
  4. mysql 查询重复 去除重复等等
  5. object.create(null) 和 {}创建对象的区别
  6. C#验证手机号
  7. &amp;lt;LeetCode OJ&amp;gt; 62. / 63. Unique Paths(I / II)
  8. 百度富文本编辑器ueditor使用启示
  9. Android JobService的使用及源码分析
  10. Guava中TreeRangeMap基本使用