Guice学习(一)

http://www.cnblogs.com/wufengxyz/archive/2012/07/10/2585388.html


Guice是Google开发的一个轻量级依赖注入框架(IOC)。Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,AOP,Struts等框架的支持;这里是简单代码实现,首先要下载Guice包,http://code.google.com/p/google-guice/这里可以下载;程序结构如下

Guice学习(一)_第1张图片

这里导入了guice包与inject包,最简单的实现;下面是相关代码:

UserDao实现

?
package com.wf.dao;
 
public class UserDao {
 
     public boolean saveUser(){
         System.out.println( "user have save" );
         return true ;
     }
}

UserService实现

?
package com.wf.services;
 
import javax.inject.Inject;
 
import com.wf.dao.UserDao;
 
public class UserService {
 
     private UserDao userDao;
 
     @Inject
     public void setUser(UserDao userDao) {
         this .userDao = userDao;
     }
     
     public boolean saveUser(){
         boolean result = userDao.saveUser();
         System.out.println(result);
         return result;
     }
}

  下面是相当与Spring中xml的一个类MyModule

?
package com.wf.util;
 
import com.google.inject.Binder;
import com.google.inject.Module;
import com.google.inject.Scopes;
import com.wf.services.UserService;
 
public class MyModule implements Module {
 
     @Override
     public void configure(Binder binder) {
         binder.bind(UserService. class ).in(Scopes.SINGLETON);
     }
 
}

  这三个类创建完毕后就可以测试了,下面是单元测试:

  以上是注入的简单实现,Guice还有与其它框架的结合使用,可能现在主流还是Spring,不过这个应该也会渐渐被大家注意;感谢Google

http://www.docin.com/p-296920972.html&uid=52823104?bsh_bid=93526465



你可能感兴趣的:(Guice学习(一))