前言
之前的文章研究了一下3.1的数据链接和项目搭建,但是项目美中不足,依赖注入比较麻烦。如果依赖过多代码看起来会非常难受。今天翻asp.net core 文档偶然发现 [fromServices] 这个属性。但是官方文档只是在方法中对参数使用,如果写起来也是非常的不友好官方链接,再此之后又突然翻到了另一篇文章。觉得麻烦的可以直接转去 https://www.cnblogs.com/viter/archive/2019/06/26/11085318.html
开始
首先在项目文件夹下新建Util文件夹,用来放一些杂七杂八的东西。在Util下新建文件FromService.cs
文件中写入以下代码
namespace Web3._1.Util
{
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class FromService : Attribute, IBindingSourceMetadata
{
public BindingSource BindingSource => BindingSource.Services;
}
}
这样在控制器里就可以用属性的方式进行依赖注入。
但是在最开始的dao层还是要保留构造函数注入。原因是对象未初始化之前,该属性为 null。