Search in sources :

Example 6 with Ioc2

use of org.nutz.ioc.Ioc2 in project nutz by nutzam.

the class DefaultValueTypes method test_refer_context.

@Test
public void test_refer_context() {
    IocContext context = new ScopeContext("abc");
    String json = "{obj:{singleton:false,fields:{ic:{refer:'$conText'}}}}";
    Ioc2 ioc = new NutIoc(new MapLoader(json), context, "abc");
    TestReferContext trc = ioc.get(TestReferContext.class);
    assertTrue(context == trc.ic);
    IocContext context2 = new ScopeContext("rrr");
    trc = ioc.get(TestReferContext.class, "obj", context2);
    assertTrue(trc.ic instanceof ComboContext);
}
Also used : NutIoc(org.nutz.ioc.impl.NutIoc) ComboContext(org.nutz.ioc.impl.ComboContext) IocContext(org.nutz.ioc.IocContext) ScopeContext(org.nutz.ioc.impl.ScopeContext) MapLoader(org.nutz.ioc.loader.map.MapLoader) Ioc2(org.nutz.ioc.Ioc2) Test(org.junit.Test)

Example 7 with Ioc2

use of org.nutz.ioc.Ioc2 in project nutz by nutzam.

the class ScopeJsonIocTest method test_refer_from_diffenent_scope.

@Test
public void test_refer_from_diffenent_scope() {
    Ioc2 ioc = I(J("f1", "type : 'org.nutz.ioc.json.pojo.Animal' , scope:'app',fields:{name:'F1'}"), J("f2", "type : 'org.nutz.ioc.json.pojo.Animal' , scope:'MyScope',fields:{name:{refer : 'f3'}}"), J("f3", "type : 'org.nutz.ioc.json.pojo.Animal' , scope:'MyScope'}"));
    ioc.get(null, "f2");
}
Also used : Ioc2(org.nutz.ioc.Ioc2) Test(org.junit.Test)

Example 8 with Ioc2

use of org.nutz.ioc.Ioc2 in project nutz by nutzam.

the class ScopeJsonIocTest method test_simple_scope.

@Test
public void test_simple_scope() {
    Ioc2 ioc = I(J("f1", "scope:'app',fields:{name:'F1'}"), J("f2", "scope:'MyScope',fields:{name:'F2'}"));
    Animal f1 = ioc.get(Animal.class, "f1");
    assertEquals("F1", f1.getName());
    Animal f2 = ioc.get(Animal.class, "f2");
    assertEquals("F2", f2.getName());
    Animal f22 = ioc.get(Animal.class, "f2");
    assertEquals("F2", f22.getName());
    assertFalse(f2 == f22);
    ScopeContext ic = new ScopeContext("MyScope");
    Map<String, ObjectProxy> map = ic.getObjs();
    f2 = ioc.get(Animal.class, "f2", ic);
    assertEquals("F2", f2.getName());
    f22 = ioc.get(Animal.class, "f2", ic);
    assertEquals("F2", f22.getName());
    assertTrue(f2 == f22);
    assertEquals(1, map.size());
    ioc.get(Animal.class, "f1", ic);
    assertEquals(1, map.size());
}
Also used : ScopeContext(org.nutz.ioc.impl.ScopeContext) Animal(org.nutz.ioc.json.pojo.Animal) Ioc2(org.nutz.ioc.Ioc2) ObjectProxy(org.nutz.ioc.ObjectProxy) Test(org.junit.Test)

Aggregations

Ioc2 (org.nutz.ioc.Ioc2)8 Test (org.junit.Test)5 IocContext (org.nutz.ioc.IocContext)4 Ioc (org.nutz.ioc.Ioc)3 NutIoc (org.nutz.ioc.impl.NutIoc)3 ScopeContext (org.nutz.ioc.impl.ScopeContext)3 MapLoader (org.nutz.ioc.loader.map.MapLoader)3 ComboContext (org.nutz.ioc.impl.ComboContext)2 HttpSession (javax.servlet.http.HttpSession)1 Pet (org.nutz.dao.test.meta.Pet)1 IocMaking (org.nutz.ioc.IocMaking)1 ObjectProxy (org.nutz.ioc.ObjectProxy)1 ValueProxy (org.nutz.ioc.ValueProxy)1 ValueProxyMaker (org.nutz.ioc.ValueProxyMaker)1 Animal (org.nutz.ioc.json.pojo.Animal)1 IocValue (org.nutz.ioc.meta.IocValue)1 IocBy (org.nutz.mvc.annotation.IocBy)1 RequestIocContext (org.nutz.mvc.ioc.RequestIocContext)1 SessionIocContext (org.nutz.mvc.ioc.SessionIocContext)1