整体认识

我看到的Guice最核心的功能是依赖注入。但它也支持AOP。这么一看,简直一个瘦化的SPRING。也支持scope,整体感觉非常简洁。

贴上我学习的链接,相比网上其它的资源而言,这是比较全面而完整的。

Guice框架

首先核心功能是依赖注入,和spring不同,guice支持默认注入,就是说,啥也不配置,inject.getInstance(***.class) 也会帮你创建一个对象。
其次是创建一个对象的时候,会有好几个构造器,所以会有一个构造器绑定。
如果创建的过程,有业务逻辑,所以要一个provider,复杂一点儿,会单独一个provider类。
多个构造器的时候,可能会有一些类似JDBC URL常量的入参,所以会有一个常量绑定。

先提一个injector.injectMembers() 方法。源码中写到,每次injector创建一个对象,都会调用这个方法,这个方法暴露出来,可以给那些非injector创建的对象,去注入属性。
注入会属性呢? 成员变量和set方法。所以,结合上面构造器,一个类的成员变量,用guice就有三种方法,一个构造器,一是成员变量注入,一是set方法注入。

然后要提到scope,和spring一样,有单例,有区分session单例。当然我比较少用。

再然后就是AOP,很有意思。居然提供了这个功能。等我用到,再来写吧。

【学习笔记】Guice学习小结相关推荐

  1. 强化学习笔记-强化学习概述

    强化学习笔记-强化学习概述 机器学习分类 强化学习与监督学习的异同点 强化学习基本原理 强化学习解决的是什么样的问题 强化学习分类 请分别解释随机性策略和确定性策略 回报.值函数.行为值函数三个指标的 ...

  2. SilverLight学习笔记--进一步学习Isolated Storage独立存储一(理论篇)

    在"silverlight如何在客户端读取文件"以及"silverlight如何在客户端写入文件"两篇文章中我们初步接触了Isolated Storage概念. ...

  3. Python3学习笔记之-学习基础(第三篇)

    Python3学习笔记之-学习基础(第三篇) 文章目录 目录 Python3学习笔记之-学习基础(第三篇) 文章目录 一.循环 1.for循环 2.while循环 3.break,continue 二 ...

  4. 学习笔记 mysql_MySQL 学习笔记

    MySQL 学习笔记 1 定义 数据库中的表:一行叫一条记录.每一列叫一个属性,或一个字段. 主键:表中的某个特殊字段,具有唯一的确定的值,可以根据该字段唯一的确定一条记录 外键:表中的某个字段的值为 ...

  5. cocos2d学习笔记2——学习资源

    1. 视频 找了好几个视频,有一些讲得好的文件资源没有,后来终于找到一个讲得不错还有文件资源的,还有高清下载地址,虽然是2.2版本的,但是确实能学到不少东西,对用cocos2d做游戏有了基本的印象,对 ...

  6. lucene学习笔记_学习Lucene

    lucene学习笔记 我目前正在与一个团队合作,开始一个基于Lucene的新项目. 虽然大多数时候我会争论使用Solr还是Elasticsearch而不是简单的Lucene,但这是一个有意识的决定. ...

  7. 大数据业务学习笔记_学习业务成为一名出色的数据科学家

    大数据业务学习笔记 意见 (Opinion) A lot of aspiring Data Scientists think what they need to become a Data Scien ...

  8. Linux学习笔记------java学习

    前言 学习笔记仅供参考 该笔记是作者根据b站狂神说视频以及自己翻阅的一些资料而写 视频连接:狂神Linux视频链接 如果有兴趣的小伙伴可以前去观看 如果购买过服务器的话,可以直接使用宝塔进行傻瓜式安装 ...

  9. shell学习笔记---工具学习

    . sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空间选择空间 # sort工具 # sort将文件 ...

  10. oracle goldengate学习笔记,【学习笔记】Oracle goldengate monitor使用笔记

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库goldengate monitor的使用笔记. 本站文章除注明转载外,均为本站原创: 转载自love wife & lo ...

最新文章

  1. 构建DHCP及中继服务器
  2. github入门必备概念
  3. 更换 Centos 中的 yum 源
  4. ngrx中的memoized函数
  5. Azure DevOps 中 Dapr项目自动部署流程实践
  6. [精品]CSAPP Bomb Lab 解题报告(三)
  7. php 生成器作用,php 生成器的理解和使用
  8. CheckBox as Image use button
  9. 【计算机网络】URI、URL、URN 辨析
  10. 1.通俗解释分布式系统
  11. 解决PL/SQL链接ORACLE中文乱码问题
  12. qt tabwidget 设置tab 位置_qml创建TabWidget的案例
  13. 高德地图No implementation found for long com.autonavi.amap.mapcore.MapCore
  14. itextsharp php,详解C#使用iTextSharp添加PDF水印的代码案例
  15. html中tab键的用法,利用Tab键快速创建html
  16. 如何修改计算机网络密码,无线网密码怎么改,教您如何修改无线网络密码
  17. Sublime Text3 Mac版去掉自动更新和添加中文
  18. LDO使用之热阻考虑
  19. Parallels Desktop 16 网络初始化失败和不能连接USB设备解决方法
  20. 最好用的 20 款数据可视化工具

热门文章

  1. 人人有用的零基础理财入门课(水湄物语)
  2. crackme用来测试程序设计人员的逆向工程技能的小程序。
  3. Scriptcase Crack,PHP Web 开发工具
  4. win10 如何做到 C盘 的绝对干净,所有软件都安装到D盘,C盘只用来存操作系统。
  5. 如何批量打印ppt文件
  6. 无人驾驶入门1:无人驾驶概览
  7. 盛大谭群钊演讲:未来的中国游戏业
  8. Excel表格的35招必学秘技[配图]
  9. 侧边悬浮在线客服咨询按钮-在线客服按钮代码实现
  10. Objective-c 开发环境