首页 > 其他分享 >IOC认识及Autofac使用

IOC认识及Autofac使用

时间:2023-08-02 23:14:05浏览次数:44  
标签:Autofac 依赖 认识 IOC https com 注入

依赖注入学习

DIP(Dependency Inversion  Principle)依赖倒置原则:上层模块不应该依赖于底层模块,二者应该通过抽象来依赖,依赖抽象而不是依赖细节。换言之,要针对接口编程,而不是针对实现编程。

IOC(Inversion of Control)控制反转:面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入,还有一种方式叫“依赖查找”(Java的,不研究)。

依赖注入:把有依赖关系的类放到容器中,解析出这些类的实例。目的是实现类的解耦。

依赖注入的方式:构造函数注入、属性注入、方法注入

场景:订单插入数据库,代码看Demo

 

Demo中演示的是手动方式创建依赖对象,并将引用传递给依赖模块。手动创建效率低下,多使用IOC容器。IOC容器可以实现动态创建、注入依赖对象,管理对象生命周期,映射依赖关系。

依赖注入背后的一个核心思想是单一功能原则(single responsibility principle)。该原则指出,每一个对象应该有一个特定的目的,而应用需要利用这一目的的不同部分应当使用合适的对象。这意味着这些对象在系统的任何地方都可以重用。

 

Autofac实现注入(详情见Demo: https://github.com/CJXMXG/IOC)

1. 自动注册

2. 手动注入

问题:

1.违反继承安全性规则(原因MVC版本与引用的Autofac.Mvc版本不同)

https://www.cnblogs.com/shacoli/p/8512780.html

https://www.cnblogs.com/lenmom/p/9081658.html

2.ConfigurationSettingsReader 

使用上面方法读取autofac配置文件时,引入命名空间有问题。Autofac.Configuration 改为 3.3.0 版本完好。 

标签:Autofac,依赖,认识,IOC,https,com,注入
From: https://www.cnblogs.com/lyyd/p/11002461.html

相关文章

  • 认识开源许可证——Apache2.0
    「七彩话合规」是棱镜七彩推出的全新内容板块,涵盖开源合规基础知识、常见许可证翻译、常见合规问答等多个模块。棱镜七彩开源合规部门专注于开源许可证研究,为您提供权威的许可证翻译参考和问题解答。开源合规第一步:理解开源许可证开源许可证,其本质是一种格式合同,通过特定的条款授予......
  • .NET Core如何使用第三方容器Autofac
    首先先了解一下什么是AutofacAutofac用于在.NETCore应用程序中管理组件的生命周期和依赖关系。我们在开发一个项目的时在Program中注入依赖注入的生命周期,项目工程比较大的时候我们就要实现很多注入,最致命的缺点就是耽误太多时间,为解决这一问题的最好解决方法就是使用到Autof......
  • SpringBoot如何获取IOC容器以及修改Bean
    通过ApplicationContextAware来获得ApplicationContext,然后获取相关Bean进行操作举例说明@ConfigurationpublicclassCommonConfigimplementsApplicationContextAware{@OverridepublicvoidsetApplicationContext(ApplicationContextapplicationContext)throw......
  • 依赖注入(DI)、控制反转(IOC)、反射的区别和联系?
    实现IOC控制反转的技术叫做反射。而反射通俗的说,反射就是根据给出的类名(字符串)来生成对象。这种编程方式可以让应用在运行时才动态决定生成哪一种对象。反射的应用是很广泛的,像Hibernate、Spring中都是用“反射”做为最基本的技术手段。其实可以把IoC模式看作工厂模式的升华,把IoC......
  • SwiftUI的认识与使用
     SwiftUI简介SwiftUI是苹果推出的一个新的UI框架,它使用了声明的方式,通过视图,基础控件和布局控件来进行页面的开发。SwiftUI具有跨平台性,一份SwiftUI代码可以同时跑在iOS、macOS、tvOS、watchOS平台上。SwiftUI编写的页面代码更简洁,广泛使用链式调用。SwiftUI视图和UIKit视图......
  • 1_认识框架
    1_认识框架框架(Framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架这个广泛的定义使用的十分流行,尤其在软件概念。框架(Framework)对于java来说,就是一系列为了解决特定问题而定义的一系列接口和实现......
  • Spring IOC实现原理详解之IOC体系结构设计 : 关于bean的生成我自己的理解;
    1、系统根据bean的配置信息(xml文件,groovy等),经过资源加载、解析配置后生成了一个关于bean的容器。2、bean容器会根据配置信息生成一个bean实例;3、将bean实例 和 一些其他配置信息生成的一些特殊的bean实例 都放入到bean的容器中;4、其他的类需要调用这些bean的时候,根据申......
  • p2:认识requests库的常用方法与实战
    二、全面认识requests库的常用方法requests是python第三方库安装命令方法如下:pipinstallrequestspython的默认的测试用来规则1、模块名必须以test_开头或_test结尾;2、类名必须以Test开头;3、测试用例名必须以test_开头#核心的六个方法#post、delete、put、get==......
  • 第17章 认识系统服务(daemons)
    第17章认识系统服务(daemons)17.1什么是daemon与服务(service)简单地说,系统为了某些功能就必须要提供一些服务(不论是系统本身还是网络方面),这个服务就称为service。但是service的提供总是需要程序的运作吧!否则如何执行呢?所以达成这个service的程序我们就称呼他为daemon啰!举......
  • 第18章 认识与分析登录档
    第18章认识与分析登录档18.1什么是登录档什么是登录档呢?简单地说,就是记录系统活动信息的几个文件,例如:何时、何地(来源IP)、何人(什么服务名称)、做了什么动作(讯息登录啰)。换句话说就是:记录系统在什么时候由哪个程序做了什么样的行为时,发生了何种的事件等等。18.1.1CentOS7......