beantest.java

来自「 EasyDBO是一个超轻量级对象-关系映射(Object/Relation M」· Java 代码 · 共 69 行

JAVA
69
字号
package com.easyjf.samples;

import com.easyjf.beans.BeanWrapper;
import com.easyjf.util.ObjectUtils;

import net.sf.cglib.proxy.LazyLoader;

import junit.framework.TestCase;

public class BeanTest extends TestCase {
	
	public void testBean()
	{	
	TB tb=new TB();
	System.out.println(tb.getCid());
	System.out.println("--");
	Object o=tb.getBean();
	if(o!=null && o.getClass().toString().indexOf("$$EnhancerByCGLIB")>0)
	{
	try{
		System.out.println(tb.getBean());
	}
	catch(NullPointerException e)
	{
	o=null;
	}
	}
	BeanWrapper wrapper=new BeanWrapper(tb);
	System.out.println(tb.getBean()==null);
	System.out.println(tb.getBean());	
	}

	class TB{
	private String cid;
	private TestBean bean;
	LazyLoader lazy=new Lazy();
	public TB()
	{
		cid="1245454";
		bean=(TestBean)net.sf.cglib.proxy.Enhancer.create(TestBean.class,lazy);
	}
	public TestBean getBean() {
		return bean;
	}
	public void setBean(TestBean bean) {
		this.bean = bean;
	}
	public String getCid() {
		return cid;
	}
	public void setCid(String cid) {
		this.cid = cid;
	}
	}
	
	class Lazy implements LazyLoader
	{
		public Object loadObject() throws Exception {
			// TODO Auto-generated method stub
			System.out.println("开始延迟加载!");
			TestBean bean=new TestBean();
			bean.setUserName("test");
		//return bean;
		return null;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?