Gadtry Java 工具库集合开源项目

我要开发同款
匿名用户2018年11月29日
27阅读
开发技术Java
所属分类程序开发、常用工具包
授权协议Apache-2.0

作品详情

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

CreateFactory:

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

ClassInject

public class TestInject{    @Autowired    private TestInject test;    @Autowired    public TestInject(HashMap set){        System.out.println(set);    }}ExecNewJvm

Throwthetasktothechildprocess

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);
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论