java依赖注入_Java依赖注入选项
java依赖注入
我想花一些时间来总结一些流行的Java依赖注入(DI)框架。 这是可用功能的高级概述。
首先,什么是依赖注入?
“依赖注入是一种软件设计模式,可以删除硬编码的依赖,并可以在运行时或编译时更改它们。” – 维基百科
如果您曾经有一个带有12个参数的构造函数,那么您就已经遇到了使用依赖注入的迫切理由。
大多数对象都需要引用其他对象才有用。 依赖注入使系统可以提供那些引用,而您不必在应用程序级别上管理所有这些依赖。
这听起来很复杂,但实际上并非如此。 由于这不是对依赖项注入的深入讨论, 请查看Wikipedia页面 ,以多种语言查看几个示例。
方匕首
从最简单,最轻便的框架之一开始, Square Dagger是一个很小的库(<100KB),对于必须最小化其占用空间的程序(如移动应用程序)很有用。 它缺少较大框架的许多功能,但是它提高了速度,并提供了一种简洁的编译时验证工具。
- 方匕首
- 在Android上使用Dagger进行依赖注入
- Dagger –一个新的Java依赖注入框架
Google Guice
Guice是Google尝试创建功能丰富的独立DI工具的尝试。 它在大多数应用程序(尤其是Web开发)中很有用。 它提供了比Dagger更多的功能,但速度较慢且可能很复杂。
- Guice –入门
- 创建一个简单的谷歌guice应用程序
- 使用Guice进行高级依赖注入
春天很大。 它会为您做所有事情,甚至编写perl,以便使perl可以洗衣服。 当然,它具有依赖注入。
好处是,如果您已经在使用Spring,则启用和使用DI非常容易,并且可以实现很好的集成方法。
不利的一面是,如果Spring不是您的本事,或者您试图将DI添加到现有的企业应用程序中,则可能很难隔离想要使用的功能的一小部分。
可以通过XML或注释来配置Spring DI。 我强烈建议使用带注释的方法。 遍历代码要容易得多,并且可以为需要了解正在发生的事情的开发人员提供重要的见解。
- Spring框架的依赖注入
- Spring IoC容器
- Spring IoC教程
Java EE6 CDI
CDI是Java Enterprise Edition中包含的上下文和依赖注入框架。 从表面上看,它看起来与Spring的基于注释的DI机制非常相似,实际上是这样。 它的幕后工作有些不同,但是在大多数情况下,它正在尝试为Java EE人群解决完全相同的问题。
- CDI依赖注入入门教程 。 注意:这是一个非常详细的教程。
- CDI概述
Pico容器
我之所以提到这一点,是因为我只是在互联网上闲逛时碰到的。 像Dagger一样, PicoContainer是一个非常小的框架,旨在很好地完成一些工作。 它不具有Spring或CDI的功能或复杂性,而作为交换,您将获得简化。
我对此并不了解很多,但是现在我知道它的存在。 每天都有新冒险!
- PicoContainer简介
- 两分钟教程
重复数据删除
这篇文章是在我们的一位软件顾问Shannon Griswold( www.thegrisexplores.com )的允许下发布的。 原始文本可以在这里找到。
翻译自: https://www.javacodegeeks.com/2014/02/dependency-injection-options-for-java.html
java依赖注入
java依赖注入_Java依赖注入选项相关推荐
- java的依赖注入_Java依赖注入的三种方式
Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:组织方式注入,setter注入,基于注解的注入. 组织方式注入 组织器注入:保证了一些需要的属性在Bean实例化时就设 ...
- java动态代理_Java 动态代理和依赖注入
[注]本文译自:https://psamsotha.github.io/jersey/2015/12/16/dynamic-proxies-dependency-injection.html 本文将讨 ...
- Java EE CDI程序化依赖关系消歧示例–注入点检查
在本教程中,我们将看到在注入Java EE CDI bean时如何避免程序依赖消除歧义. 我们已经在Jave EE依赖关系消除歧义示例中展示了如何避免CDI Bean中的依赖关系歧义消除. 在这里,我 ...
- 依赖注入(di)模式_Java依赖注入– DI设计模式示例教程
依赖注入(di)模式 Java Dependency Injection design pattern allows us to remove the hard-coded dependencies ...
- JAVA(一)依赖注入的简单理解
所谓依赖,举个例子说明,一个类Person,另一个类Car,如果Person的某个方法比如说drive,需要引用Car,则称Person类依赖于 Car类,延伸到对象,这种依赖关系依然成立,比如说Pe ...
- java 构造器注入_Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)...
什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...
- java 注入 循环_spring依赖注入——循环依赖
上一篇博客简单地分析了下依赖注入.但是对于依赖注入的很多细节,都没有深入的分析.这一篇博客会继续分析spring的依赖注入.这篇博客会解决分析getBean缓存时候遗留下来的循环依赖问题. 循环依赖分 ...
- 框架依赖注入和普通依赖注入_依赖注入快速入门:它是什么,以及何时使用它...
框架依赖注入和普通依赖注入 by Bhavya Karia 通过Bhavya Karia 介绍 (Introduction) In software engineering, dependency i ...
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 创建 事件监听器 对应的 动态代理 | 动态代理的数据准备 | 创建调用处理程序 | 创建动态代理实例对象 )
文章目录 前言 一.创建 事件监听器 对应的 动态代理 二.动态代理 数据准备 三.动态代理 调用处理程序 四.动态代理 实例对象创建 前言 Android 依赖注入的核心就是通过反射获取 类 / 方 ...
最新文章
- 关于微信 setData 回调函数中的坑
- 图像梯度增强_使用梯度增强机在R中进行分类
- 关于gitgithub的操作
- [react] react组件间的通信有哪些?
- OpenCV Mat主要用法(1)
- js怎么获取ueditor值_UEditor获取内容
- 桌面虚拟化之PCoIP访问协议硬卡介绍
- 实用的 Python —— 使用虚拟环境 virtualenv(Linux)
- 2018上半年掘金微信群日报优质文章合集:前端篇
- hp linux 禁用u盘启动不了,笔记本被禁用U盘启动功能的bios设置解除方法
- 几种颜色空间(RGB,YUV,YIQ,HSI)的基本概念及转换
- JarvisOJ Basic 握手包
- cisco 防火墙模拟器_37、如果手头有华为AP,怎们配合模拟器做部分实验呢?(完结篇)...
- 文件里的三个重要时间:access time(访问时间), modify time(修改时间), change time(状态改动时间)
- 【Proteus仿真】AT24C02数据读写+LCD1602显示
- 中国成全球最大工业机器人市场 年增长速度25%
- JS中onchange事件:域内容被改变的事件
- Abp 项目生成数据到数据库
- Qt内存泄露工具Heob安装使用
- 法大大首批通过ISO 22301:2019认证