【学习笔记】Guice学习小结
整体认识
我看到的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学习小结相关推荐
- 强化学习笔记-强化学习概述
强化学习笔记-强化学习概述 机器学习分类 强化学习与监督学习的异同点 强化学习基本原理 强化学习解决的是什么样的问题 强化学习分类 请分别解释随机性策略和确定性策略 回报.值函数.行为值函数三个指标的 ...
- SilverLight学习笔记--进一步学习Isolated Storage独立存储一(理论篇)
在"silverlight如何在客户端读取文件"以及"silverlight如何在客户端写入文件"两篇文章中我们初步接触了Isolated Storage概念. ...
- Python3学习笔记之-学习基础(第三篇)
Python3学习笔记之-学习基础(第三篇) 文章目录 目录 Python3学习笔记之-学习基础(第三篇) 文章目录 一.循环 1.for循环 2.while循环 3.break,continue 二 ...
- 学习笔记 mysql_MySQL 学习笔记
MySQL 学习笔记 1 定义 数据库中的表:一行叫一条记录.每一列叫一个属性,或一个字段. 主键:表中的某个特殊字段,具有唯一的确定的值,可以根据该字段唯一的确定一条记录 外键:表中的某个字段的值为 ...
- cocos2d学习笔记2——学习资源
1. 视频 找了好几个视频,有一些讲得好的文件资源没有,后来终于找到一个讲得不错还有文件资源的,还有高清下载地址,虽然是2.2版本的,但是确实能学到不少东西,对用cocos2d做游戏有了基本的印象,对 ...
- lucene学习笔记_学习Lucene
lucene学习笔记 我目前正在与一个团队合作,开始一个基于Lucene的新项目. 虽然大多数时候我会争论使用Solr还是Elasticsearch而不是简单的Lucene,但这是一个有意识的决定. ...
- 大数据业务学习笔记_学习业务成为一名出色的数据科学家
大数据业务学习笔记 意见 (Opinion) A lot of aspiring Data Scientists think what they need to become a Data Scien ...
- Linux学习笔记------java学习
前言 学习笔记仅供参考 该笔记是作者根据b站狂神说视频以及自己翻阅的一些资料而写 视频连接:狂神Linux视频链接 如果有兴趣的小伙伴可以前去观看 如果购买过服务器的话,可以直接使用宝塔进行傻瓜式安装 ...
- shell学习笔记---工具学习
. sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空间选择空间 # sort工具 # sort将文件 ...
- oracle goldengate学习笔记,【学习笔记】Oracle goldengate monitor使用笔记
天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库goldengate monitor的使用笔记. 本站文章除注明转载外,均为本站原创: 转载自love wife & lo ...
最新文章
- 构建DHCP及中继服务器
- github入门必备概念
- 更换 Centos 中的 yum 源
- ngrx中的memoized函数
- Azure DevOps 中 Dapr项目自动部署流程实践
- [精品]CSAPP Bomb Lab 解题报告(三)
- php 生成器作用,php 生成器的理解和使用
- CheckBox as Image use button
- 【计算机网络】URI、URL、URN 辨析
- 1.通俗解释分布式系统
- 解决PL/SQL链接ORACLE中文乱码问题
- qt tabwidget 设置tab 位置_qml创建TabWidget的案例
- 高德地图No implementation found for long com.autonavi.amap.mapcore.MapCore
- itextsharp php,详解C#使用iTextSharp添加PDF水印的代码案例
- html中tab键的用法,利用Tab键快速创建html
- 如何修改计算机网络密码,无线网密码怎么改,教您如何修改无线网络密码
- Sublime Text3 Mac版去掉自动更新和添加中文
- LDO使用之热阻考虑
- Parallels Desktop 16 网络初始化失败和不能连接USB设备解决方法
- 最好用的 20 款数据可视化工具