Gadtry 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Gadtry 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Gadtry 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 国产
投 递 者 ideal_github_harbby
适用人群 未知
收录时间 2018-11-29

软件简介

Gadtry是一个java工具库集合。包含:ioc, exec(fork进程), graph(图计算)等等常用工具集,并且完全零依赖。

Use

maven

<dependency>
  <groupId>com.github.harbby</groupId>
  <artifactId>gadtry</artifactId>
  <version>1.1.0</version>
</dependency>

gradle

compile group: 'com.github.harbby', name: 'gadtry', version: '1.0.0'

Ioc

Create Factory:

IocFactory iocFactory = IocFactory.create(binder -> {
    binder.bind(Set.class).by(HashSet.class).withSingle();
    binder.bind(HashSet.class).withSingle();
    binder.bind(List.class).byCreator(ArrayList::new);  //Single object
    binder.bind(Object.class, new Object());
    binder.bind(Map.class).byCreator(HashMap::new).withSingle();  //Single object
    binder.bind(TestInject.class);
});

Set a1 = iocFactory.getInstance(Set.class);
Set a2 = iocFactory.getInstance(Set.class);
Assert.assertEquals(true, a1 == a2); // Single object

Class Inject

public class TestInject
{
    @Autowired
    private TestInject test;

    @Autowired
    public TestInject(HashMap set){
        System.out.println(set);
    }
}

Exec New Jvm

Throw the task to the child process

JVMLauncher launcher = JVMLaunchers.newJvm()
    .setCallable(() -> {
        // this is child process
        System.out.println("************ runing your task ***************");
        return 1;
    })
    .addUserjars(Collections.emptyList())
    .setXms("16m")
    .setXmx("16m")
    .setConsole((msg) -> System.out.println(msg))
    .build();

VmFuture out = launcher.startAndGet();
Assert.assertEquals(out.get().get().intValue(), 1);
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
2019/02/21 11:45

Gadtry 1.4.0-rc1 发布,全新Graph图数据容器能力

Gadtry 1.4.0-rc1 发布,全新Graph图数据容器能力,异步Fork JVM 多进程支持。Gadtry是一个java工具库集合。包含:ioc, exec(fork进程), graph(图计算)等等常用工具集,并且完全零依赖。更新内容如下: Aop: Fix JavassistProxy thread safety issues Fork Multiprocessing JvmLanucher supports asynchronous ForkJvm supports environment variable settings Graph: Graph supports search features Optimize graph data str...

1
12
2018/12/12 20:46

Gratry-1.2.0 与 1.1.1 发布,更加泛用的 Aop 支持

简介: Gadtry 是一个构建于java8之上的工具库, 涵盖了Ioc Aop exec graph等等工具库,几乎涵盖了日常开发中非常多工具类,当然它还在不断丰富中. Gadtry 1.2.0 已发布 使用: <dependency>   <groupId>com.github.harbby</groupId>   <artifactId>gadtry</artifactId>   <version>1.2.0</version> </dependency> 1.2.0版本主要加强Aop功能,具体如下: 对普通对象代理时正式支持方法过滤 returnType(Class<?>... returnT...

0
4
2018/12/06 10:09

Gratry-1.1.0 发布, Spring Aop 之外的新选择

简介: Gadtry 是一个构建于java8之上的工具库, 涵盖了Ioc Aop exec graph等等工具库,几乎涵盖了日常开发中非常多工具类,当然它还在不断丰富中. Gadtry 1.1.0 稳定版已发布,主要新增Aop功能,特点如下: * 新增完备 Aop功能, 支持接口代理和非接口类代理(非final) * 支持和Gadtry-Ioc容器进行结合代理 * 支持非容器场景代理(注意应对 没有使用任何ioc容器的项目) * 已支持Spring-Aop所有概念和语义 演示: * 结合Gadtry-Ioc: Ioc...

7
13
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
26 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部