Guice系列之用户指南(四)
原文地址:https://code.google.com/p/google-guice/wiki/ProvidesMethods
@Provides Methods(@Provides注解方法):用@Provides来注解方法产生需要的对象。
贴代码:
public Configure(@Named("JDBC URL") String jdbcUrl,
int loginTimeout) {
this.jdbcUrl = jdbcUrl;
this.loginTimeout = loginTimeout;
}
@Override
public String toString() {
return "jdbcUrl== " + this.jdbcUrl + "\tloginTimeout== " + this.loginTimeout + " seconds";
}
}
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.name.Names;
public class ConfigureModule extends AbstractModule {
@Override
protected void configure() {
bind(String.class)
.annotatedWith(Names.named("JDBC URL"))
.toInstance("jdbc:mysql://localhost/pizza");
}
@Provides
int getLoginTimeout() {
System.out.println("run @Provides");
return 20;
}
}
import com.google.inject.Guice;
import com.google.inject.Injector;
public class Test {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new ConfigureModule());
Configure configure = injector.getInstance(Configure.class);
System.out.println(configure);
}
}
jdbcUrl== jdbc:mysql://localhost/pizza loginTimeout== 20 seconds
可以看到,在module里没有绑定int类型的值,却在依赖时注入了。
《Jersey用户指南》–序言 此书是Jersey 2.23.1的用户手册。我们努力及时更新这本手册因为Jersey 2.23.1增加了一些新的功能。当您在阅读这本用户手册的时候, 请同时参考我们的Jersey API 手册从而进一步理解Jersey 的功能和API。
Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决Java项目中的依赖注入问题。如果使用过Spring的话,会了解到依赖注入是个非常方便的功能。不过假如只想在项目中使用依赖注入,那么引入Spring未免大材小用了。
相关文章
- Ubuntu移动操作系统安装指南
- C#微信公众号开发系列教程二(新手接入指南)
- (转载)李剑英的CSLight入门指南结合NGUI热更新
- python读写配置文件使用总结与避坑指南
- Guice系列之用户指南(六)
- Guice系列之用户指南(十)
- Guice系列之用户指南(二)
- Guice系列之用户指南(三)
- Guice系列之用户指南(十)
- Guice系列之用户指南(十二)
- 一起学微软Power BI系列-官方文档-入门指南(5)探索数据奥秘
- Android性能优化:Github下载超10万次的360°全方面性能调优指南(含内存优化、布局优化、实战解析等)
- 全志系列所有芯片 Tina Linux NOR Flash文件系统 开发指南
- 理解RESTful架构 & RESTful API 设计指南
- EasyARM i.MX283A 完整系统制作指南(Linux 4.13.2+U-Boot 2017.09+BusyBox 1.27.2+Qt5.7+Dropbear + Tslib + gdbserver 8.0)
- 论文投稿指南——中文核心期刊推荐(物理学2)
- 论文投稿指南——中文核心期刊推荐(建筑科学 2)
- 论文投稿指南——中文核心期刊推荐(原子能技术)
- 【学习笔记】高质量C++/C 编程指南(林锐博士)