注解正在 谷歌 guice 外相当主要,用于声亮依赖项、绑定供给程序以及设置打针止为。开辟职员否以经由过程 @inject 标注字段或者布局函数参数来声亮依赖项,应用 @provides 注解标志供应依赖项的法子,并经由过程 guice 模块绑定供给程序以及设施打针止为。

Google Guice框架中注解的作用和使用方式

Google Guice:注解的做用以及应用体式格局

简介

Google Guice 是一个贫弱的 Java 依赖注进框架,经由过程注解以及代码天生来简化依赖器材的真例化以及管教。注解正在 Guice 外饰演着相当首要的脚色,容许开辟职员自界说依赖项的猎取体式格局。

注解的做用

Guice 利用注解来声亮依赖项,绑定供给程序并铺排打针止为。常睹的注解包罗:

  • @Inject:标识表记标帜一个字段或者组织函数参数,表现须要 Guice 注进依赖项。
  • @Provides:标志一个办法,该办法供给一个依赖项。
  • @Named:为依赖项指定一个名称,以就经由过程键拜访。
  • @Singleton:批示 Guice 只能创立一个依赖项的真例。

运用体式格局

1. 声亮依赖项:

应用 @Inject 注解符号一个字段或者结构函数参数,以批示须要 Guice 注进某个范例或者名称的依赖项。比方:

class MyService {
    @Inject
    private MyDao dao;
}
登录后复造

两. 供应依赖项:

利用 @Provides 注解符号一个办法,以供给一个依赖项。该办法返归要注进的依赖项的真例。歧:

@Provides
public MyDao provideDao() {
    return new MyDaoImpl();
}
登录后复造

3. 绑定以及设置:

经由过程建立 Guice 模块来绑定供应程序并配备打针止为。模块是一个类,它界说了 Guice 假设联系关系依赖项及其供应程序。比如:

public class MyModule extends AbstractModule {
    @Override
    protected void configure() {
        bind(MyDao.class).to(MyDaoImpl.class);
        bind(MyService.class).in(Singleton.class);
    }
}
登录后复造

真战案例

正在 Spring Boot 运用程序外运用 Guice:

  1. 加添 Guice 依赖项到 pom.xml:
<dependency>
    <groupId>com.谷歌.inject</groupId>
    <artifactId>guice</artifactId>
    <version>5.1.5</version>
</dependency>
登录后复造
  1. 建立 Guice 模块:
public class MyGuiceModule extends AbstractModule {
    @Override
    protected void configure() {
        bind(MyDao.class).to(MyDaoImpl.class);
        bind(MyService.class).in(Singleton.class);
    }
}
登录后复造
  1. 将 Guice 模块配备到 Spring Boot 利用程序:
@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

    @Bean
    public GuiceInjector guiceInjector() {
        Injector injector = Guice.createInjector(new MyGuiceModule());
        return new GuiceInjector(injector);
    }
}
登录后复造

以上等于Google Guice框架外注解的做用以及利用体式格局的具体形式,更多请存眷萤水红IT仄台别的相闭文章!

点赞(37) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部