使用配置 API配置注入(Container stand-alone API)
当使用API配置注时,它可以通过成员注入重写默认的注入规则;
使用注入成员(InjectionMember)时,如对属性注入可以用InjectionProperty等,可以通过指定名称来指定使用哪个具体的类型映射来解析并注入,这类似于使用Dependency并指定具体的名称,如Dependency(“name”),name为映射的名称;
如果实参依赖项也是要通过解析的,那么必参通过ResolvedParameter来对参数解析,还可以指定具体的命名映射类型;在这种情况下如果是默认的映射可以用typeof()来指明解析;
在很多的情况下,不能对注入对象进行修改操作,使用特性的方法来指定具体是使用哪个构造函数来注入,比如没有原代码等,那么也可以通过成员注入的方法来确定要选用的构造函数,也就是利用了构造函数的签名;如:InjectionConstructor()为构造函数提供实参;且这种方式的优先级高于在具体对象上使用特性;
生存期管理器:
1、可以确保解析的对象在上下文(同个容器、线程、http session)中是同一个实例;
2、可以正确的释放对象;
在类型注册时可以指定生存期;
使用配置 API配置注入(Container stand-alone API)的更多相关文章
- SpringBoot基础学习(二) SpringBoot全局配置文件及配置文件属性值注入
全局配置文件 全局配置文件能够对一些默认配置值进行修改.SpringBoot 使用一个名为 application.properties 或者 application.yaml的文件作为全局配置文件, ...
- [转载]fullPage.js中文api 配置参数~
fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...
- EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射
I.EF里的默认映射 上篇文章演示的通过定义实体类就可以自动生成数据库,并且EF自动设置了数据库的主键.外键以及表名和字段的类型等,这就是EF里的默认映射.具体分为: 数据库映射:Code First ...
- Fluent API 配置
EF里实体关系配置的方法,有两种: Data Annotation方式配置 也可以 Fluent API 方式配置 Fluent API 配置的方法 EF里的实体关系 Fluent API 配置分为H ...
- 使用 Fluent API 配置/映射属性和类型(摘自微软Data Access and Storage)
使用 Fluent API 配置/映射属性和类型 使用实体框架 Code First 时,默认行为是使用一组 EF 中内嵌的约定将 POCO 类映射到表.但是,有时您无法或不想遵守这些约定,需要将实体 ...
- Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
在前面的随笔<Entity Framework 实体框架的形成之旅--Code First的框架设计(5)>里介绍了基于Code First模式的实体框架的经验,这种方式自动处理出来的模式 ...
- Entity Framework Code First (五)Fluent API - 配置关系
上一篇文章我们讲解了如何用 Fluent API 来配置/映射属性和类型,本文将把重点放在其是如何配置关系的. 文中所使用代码如下 public class Student { public int ...
- 使用Fluent API 配置/映射属性和类型
Code First约定-Fluent API配置 使用Fluent API 配置/映射属性和类型 简介 通常通过重写派生DbContext 上的OnModelCreating 方法来访问Code F ...
- spring中bean配置和bean注入
1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...
随机推荐
- CSS3与页面布局学习笔记(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)
CSS不像其它高级语言一样支持算术运算.变量.流程控制与面向对象特性,所以CSS样式较多时会引起一些问题,如修改复杂,冗余,某些别的语言很简单的功能实现不了等.而javascript则是一种半面向对象 ...
- placeholder不兼容 IE10 以下版本的解决方法
对于密码输入框placeholder的兼容问题:HTML代码:<input type="password" id="loginPassword" plac ...
- js中cookie的添加,删除,查询总结
function addCookie(objName,objValue,objHours){//添加cookie var str = objName + "=" + escape( ...
- android常犯错误记录
错误:Error:Error: Found item Attr/border_width more than one time 这个容易,属性相同了,按照提示查询一下找出来删了就行了,注意大小写很容易 ...
- Runtime相关整理
一.Runtime是用C和汇编写的 对于C语言,函数的调用在编译的时候会决定调用哪个函数.对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名 ...
- RubyMine不能调试Rails项目的问题
需要安装debase gem,而且在项目的GemFile中禁用byebug
- mac brew & gcc安装
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...
- ORA-01157 & ORA-01110
测试服务器做了RMAN还原后,发现告警日志文件有如下错误信息ORA-01110: data file 206: '/u04/epps/oradata/temp02.dbf' Errors in f ...
- SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
我们都知道CHAR(integer_expression)将ASCII代码转换为字符.当integer_expression介于 0 和 255 之间的整数.如果该整数表达式不在此范围内,将返回 NU ...
- 虚拟机备份克隆导致SQL SERVER 出现IO错误案例
案例环境: 服务器配置: CPU: Intel E5-2690 RAM: 12G 虚拟机 操作系统 : Windows Server 2008 R2 Standard Edtion ...