分手快乐 发表于 2015-1-18 11:13:33

来看Guice与Spring框架的区分

java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
依附注进,DI(DependencyInjection),它的感化天然不用多说,说起DI容器,比方spring,picoContainer,EJB容器等等,克日,google出生了更轻便的DI容器……Guice!
空话未几讲了,先看看Guice是怎样完成注进的吧。
界说一个复杂的service接口和它的完成吧!
publicinterfaceMyService...{
voidmyMethod();
}
publicclassMyServiceImplimplementsMyService...{
publicvoidmyMethod()...{
System.out.println("Hello,World!");
}
}
以上是最一般的接口和实在现,没甚么可说的。
界说一个测试类,这个类里边包含service对象的一个援用,这个对象是必要Guice举行注进的。
importcom.google.inject.Inject;
publicclassClient...{
MyServiceservice;
@Inject//告知容器,这里的service对象的援用,必要举行注进
voidsetService(MyServiceservice)...{//这里的办法名字能够恣意界说
this.service=service;
}
publicvoidmyMethod()...{
service.myMethod();
}
}
这里除加了一个@Inject,和Spring的设置没有任何的区分,@Inject,是暗示对容器说,这里的service必要打针,比及运转的时分,容器会拿来一个实例给service,完成打针的历程。
界说Guice的Module文件,告知容器怎样举行注进。
importcom.google.inject.Binder;
importcom.google.inject.Module;
importcom.google.inject.Scopes;
publicclassMyModuleimplementsModule...{
publicvoidconfigure(Binderbinder)...{
binder.bind(MyService.class).to(MyServiceImpl.class).in(Scopes.SINGLETON);
//这句代码的意义是说:运转时静态的将MyServiceImpl对象赋给MyService界说的对象,
并且这个对象是单例的。
}
}
创立测试类
importcom.google.inject.Guice;
importcom.google.inject.Injector;
publicclassTest...{
publicstaticvoidmain(String[]args)...{
MyModulemodule=newMyModule();//界说打针划定规矩
Injectorinjector=Guice.createInjector(module);//依据打针划定规矩,天生打针者
Clientclient=newClient();
injector.injectMembers(client);//打针者将必要打针的bean,依照划定规矩,把client这个客户端举行打针
client.myMethod();
}
}
运转测试类,把持台输入:Hello,World!
<p>
C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊

若相依 发表于 2015-1-20 17:28:47

关于设计模式的资料,还是向大家推荐banq的网站 http://www.ckuyun.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

飘灵儿 发表于 2015-1-25 11:29:47

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

海妖 发表于 2015-2-2 21:55:11

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

若天明 发表于 2015-2-4 12:43:14

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

仓酷云 发表于 2015-2-10 09:35:45

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

活着的死人 发表于 2015-2-11 09:27:04

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

简单生活 发表于 2015-3-2 08:46:28

Java 编程语言的风格十分接近C、C++语言。

莫相离 发表于 2015-3-11 02:39:14

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

透明 发表于 2015-3-12 00:32:20

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

飘飘悠悠 发表于 2015-3-12 10:19:03

Java是一种计算机编程语言,拥有跨平台、面向对java

冷月葬花魂 发表于 2015-3-19 19:56:04

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
页: [1]
查看完整版本: 来看Guice与Spring框架的区分