当前位置: 首页 > news >正文

IOC - Google Guice

Google Guice是一个轻量级的依赖注入框架,专注于依赖注入和IoC,适用于中小型应用。
Spring Framework是一个全面的企业级框架,提供了广泛的功能,适用于大型企业应用。

是吧!IOC 容器不止Spring,还有Google Guice,来体验体验吧:
首先,第0步那肯定是添加maven依赖:

<dependency><groupId>com.google.inject</groupId><artifactId>guice</artifactId><version>4.2.3</version> <!-- 使用适当的版本号 -->
</dependency>

步骤1:创建接口和实现类

首先,创建一个接口和实现类:

// Service接口
public interface Service {void execute();
}// Service的实现类
public class MyService implements Service {@Overridepublic void execute() {System.out.println("MyService 执行了.");}
}

步骤2:创建Guice模块

接下来,创建一个Guice模块,其中配置了Guice容器来管理依赖关系。在这个模块中,绑定接口和实现类:

import com.google.inject.AbstractModule;public class MyModule extends AbstractModule {@Overrideprotected void configure() {bind(Service.class).to(MyService.class);}
}

步骤3:使用Guice容器

现在,使用Guice容器来创建和注入依赖:

import com.google.inject.Guice;
import com.google.inject.Injector;public class DemoLfsunStudyGuiceApplication {public static void main(String[] args) {Injector injector = Guice.createInjector(new MyModule());// 请求Guice容器提供Service实例Service service = injector.getInstance(Service.class);// 使用Serviceservice.execute();}
}

在这里插入图片描述

创建Guice容器并使用MyModule来配置依赖关系。然后,通过injector.getInstance(Service.class)请求Guice容器提供Service接口的实例,并最终调用了execute方法。

http://www.lryc.cn/news/226671.html

相关文章:

  • 国际阿里云:Linux实例负载高问题排查和异常处理!!!
  • 【数据结构】二叉树的遍历递归算法详解
  • 百度王颖:百度文库以AI创作能力突破语言边界,促进思想碰撞和文化融通
  • 人工智能基础_机器学习023_理解套索回归_认识L1正则---人工智能工作笔记0063
  • Learning an Animatable Detailed 3D Face Model from In-The-Wild Images论文笔记
  • Lenovo联想小新Air-14笔记本2021款AMD锐龙ALC版(82LM)原装出厂Win10镜像和Windows11预装OEM系统
  • 在程序中链接静态库
  • TortoiseSVN 状态图标不显示的两种解决办法
  • NSSCTF-Crypto入门题 练习记录贴 ‘‘一‘‘
  • Day03:注意事项、this关键字、构造器、JavaBean、String、ArrayList
  • 【从0到1设计一个网关】性能优化---缓存
  • Typescript -尚硅谷
  • 以 Kubernetes 原生方式实现多集群告警
  • 2023年A股借壳上市研究报告
  • 【TiDB】TiDB CLuster部署
  • odoo16 库存初始化 excel导入问题
  • 2023.11.11 关于 Spring 中 Bean 的作用域
  • 5 Paimon数据湖之表数据查询详解
  • 时间序列预测实战(十二)DLinear模型实现滚动长期预测并可视化预测结果
  • 封神教程:腾讯云3年轻量应用服务器老用户购买方法
  • Ubuntu(WSL2) 安装最新版的 cmake
  • Android---内存泄漏的优化
  • C/S架构学习之基于UDP的本地通信(客户机)
  • 【性能测试】服务端中间件docker常用命令解析整理(详细)
  • 【探索Linux】—— 强大的命令行工具 P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)
  • 图论12-无向带权图及实现
  • 每日一题(LeetCode)----数组--有序数组的平方
  • SpringCloud微服务:Eureka
  • 19.删除链表的倒数第N个结点(LeetCode)
  • PyTorch技术和深度学习——三、深度学习快速入门