电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

Groovy编程—Annotations的使用


发布日期:2023/12/1
 

从JDK开始Java就拥有了一种新特性Annotations想必Java老手们对它并不陌生吧在各大框架比如SpringHibernate等中均提供了自己的Annotations供大家使用Java+使用Annotations是十分平常的事情因为Annotations本身就是Java的一种特性但基于Java的动态语言要使用Annotations就比较困难了目前只有Groovy能够做到这点

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

注意请将guicejar和aopalliancejar加到classpath中如果您嫌麻烦可以将这两个Jar文件放到<GROOVY_HOME>\lib目录下

import comgoogleinject *interface LoginService {boolean check(String name String password)}@Singletonclass LoginServiceImpl implements LoginService {boolean check(String name String password) {if (name == Daniel && password == ) {return true}return false}}class LoginController {@Injectprivate LoginService loginServicepublic void setLoginService(LoginService loginService) {this loginService = loginService}public void execute() {String name = Daniel String password = login(name password)}public void login(String name String password) {boolean result = loginServicecheck(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) {binderbind(LoginService)to(LoginServiceImpl)in(ScopesSINGLETON)}}def loginInjector = GuicecreateInjector( new LoginModule())def loginController = loginInjectorgetInstance(LoginController)loginControllerexecute()

运行结果

Welcome Daniel

上一篇:不使用中间变量交换两个数

下一篇:线程等待和释放的小麻烦(wait/notify)