DotNetCore跨平台~autofac属性的自动注入
在使用autofac这个DI工具时,我们一般使用的是构造方法注入,而dotnetcore的标准框架里也集成了构造方法注入,而属性注入在一些场景下,表现的更为灵活,像java的spring框架里就有@Autowired注解来实现属性的注入,而autofac这个框架也提示了属性自动注入的方式(PropertiesAutowired)。
下面准备dao和bll层代码,bll对dao层有引用
public class UserRepository
{
public int GetUserId()
{
return ;
}
} public class UserService
{
public UserRepository _userRepository { get; set; } public int GetUserId()
{
if (_userRepository != null)
{
return _userRepository.GetUserId();
}
return ;
} }
在单元测试里进行属性注入的验证
[Fact]
public void Test1()
{
ContainerBuilder builder = new ContainerBuilder();
builder.RegisterType<UserService>().PropertiesAutowired();//它里面的属性自动注册
builder.RegisterType<UserRepository>();
var container = builder.Build();
UserService userService = container.Resolve<UserService>();
Assert.Equal(, userService.GetUserId());
}
经过测试我们发现,dao层的GetUserId方法被正确返回了。
DotNetCore跨平台~autofac属性的自动注入的更多相关文章
- spring mvc:属性无法自动注入
在使用spring mvc 3开发一个项目模块时,遇到这样一个奇怪的问题: 前端页面发送的请求中,所有参数都无法自动注入到指定的@ModelAttribute对象中,经过检查,参数名称与接受对象的属性 ...
- spring的两种属性注入方式setter注入和构造器注入或者自动注入
1.这里的属性自动注入,与注解配置bean是两回事.这里的自动注入,指的是bean属性的自动注入. bean属性自动注入,包括byNAme和ByType两码事. 2.所有的applicationCon ...
- Autofac官方文档翻译--一、注册组件--3属性和方法注入
官方文档:http://docs.autofac.org/en/latest/register/prop-method-injection.html Autofac 属性和方法注入 虽然构造函数参数注 ...
- SSM-Spring-06:Spring的自动注入autowire的byName和byType
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- di的注入上次讲了一些,这次主要阐述域属性的自动注入 先讲byType方式 看名字就知道是根据类型进行自动注入 ...
- Spring容器是如何实现 Bean 自动注入(xml)
入口web.xml web.xml 配置文件 <!-- Spring Config --> <listener> <listener-class>org.sprin ...
- Asp.Net MVC 之 Autofac 初步使用2 集成mvc 属性注入以及自动注入
首先看下Demo2的结构 然后下面一步步将Autofac集成到mvc中. 首先,定义Model Product.cs public class Product { public int Id ...
- Autofac手动注入及自动注入示例
参考:http://www.cnblogs.com/xinchuang/archive/2013/05/07/3065433.html#2911661 一.环境 vs2012.mvc4..Net Fr ...
- .NET MVC5+ EF+AutoFac自动注入框架
1.创建一个MVC系统 VIEW显示页面代码: <link href="~/Content/bootstrap.css" rel="stylesheet" ...
- .NET MVC5+ Dapper+扩展+AutoFac自动注入实现
1.首先创建一个MVC项目 定义Model 层 view 层 index.cshtml 控制器层Controllers等文件 2.在线安装或者引用dapper 以及扩展相关包 同时Autofac ...
随机推荐
- Codeforces 766C Mahmoud and a Message 2017-02-21 13:57 62人阅读 评论(0) 收藏
C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Chain Of Responsibility Design Pattern Example
Avoid coupling the sender of a request to the receiver by giving more than one object a chance to ha ...
- 四则运算生成器(java) 蔡苑菲,陆海燕
github地址:https://github.com/Nancy0611/Myapp.git 一.项目相关要求 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 将生成10个 ...
- Oracle EBS Standard Package Function Add User & Resp
Oracle EBS Standard Package Function Add User & Resp. fnd_user_pkg.CreateUser; fnd_user_pkg.AddR ...
- Silverlight与JavaScript的交互操作
Silverlight和JavaScript交互介绍以及简单Demo演示,主要包括JavaScript操作Silverlight数据.Silverlight操作JavaScript数据以及数据模版绑定 ...
- 【转发】在SQL Server中通过字段值查询存储该字段的表
-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved. -- Purpose: To search all colu ...
- Mustache 使用说明
Mustache 使用说明 最近在升级SinGooCMS到MVC架构.管理前端使用了Mustache模板,把使用心得记录一下! 一.官网http://mustache.github.io/https: ...
- sql游标循环结果集
我们知道游标是一种对结果集操作的神器,使用游标,可以很方便的循环结果集,并对结果集进行数据处理. 1.建表 CREATE TABLE [dbo].[Student]( ,) NOT NULL, ) N ...
- Asp.net Core过滤器
Asp.net Core五类过滤器:Authorization Filter.Resource Filter.Acton Filter.Exception Filter.Result Filter.优 ...
- pod-infrastructure:latest镜像下载失败
报错一:image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be be ...