首页 >> 计算机
软件水平
考试指南 | 考试资讯 | 复习指导 | 初级软考 | 中级软考 | 高级软考
您当前的位置: 首页 >> 计算机 >> 软件水平 >> 复习指导
站内搜索:

Java核心技术:Annotations的使用
作者:城市网 来源:中华考试网 更新日期:2013-2-28

  从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


软件水平相关文章:
网站首页 - 关于我们 - 版权声明 - 广告服务 - 网站地图 - 会员专区 - 客户服务 - 疑难解答 - 联系我们
Copyright© 2010 cn.cityy.cn 城市网 版权所有
中国·城市教育 粤ICP备06023013号