商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

Groovy高效编程——Annotations的使用

作者:蛟龍居  2007-11-12
【IT168技术文档】从JDK1.5开始,Java就拥有了一种新特性——Annotations,想必Java老手们对它并不陌生吧,在各大框架比如Spring、Hibernate等中均提供了自己的Annotations供大家使用,Java5+使用Annotations是十分平常的事情,因为Annotations本身就是Java的一种特性,但基于Java的动态语言要使用Annotations就比较困难了,目前只有Groovy能够做到这点。

接下来以使用Guice为例,看一下在Groovy中如何使用Annotations,其实跟在Java中使用Annotations没什么两样 :)

注意:请将guice-1.0.jar和aopalliance.jar加到classpath中。如果您嫌麻烦,可以将这两个Jar文件放到<GROOVY_HOME>\lib目录下。
import com.google.inject. * interface LoginService { boolean check(String name, String password) } @Singleton class LoginServiceImpl implements LoginService { boolean check(String name, String password) { if (name == " Daniel " && password == " 123456 " ) { return true } return false } } class LoginController { @Inject private LoginService loginService public void setLoginService(LoginService loginService) { this .loginService = loginService } public void execute() { String name = " Daniel " String password = " 123456 " login(name, password) } public void login(String name, String password) { boolean result = loginService.check(name, password) if (result) { println " Welcome, $name " } else { println " Sorry, the name or password inputted is invalid! " } } } class LoginModule implements Module { void configure(Binder binder) { binder.bind(LoginService) .to(LoginServiceImpl) .in(Scopes.SINGLETON) } } def loginInjector = Guice.createInjector( new LoginModule()) def loginController = loginInjector.getInstance(LoginController) loginController.execute()
运行结果:
Welcome, Daniel
原文地址
1
【内容导航】
第1页: 第1页
©版权所有。未经许可,不得转载。
[责任编辑:JavaWorker]