codecamp

版本与升级

在实现类的声明注解@Implement中,默认有个version值为1的属性,在实现相同接口的实现类中,version值越大的,就会覆盖version值小的。

对上面的接口再写一个实现类,如下

package demo.dao.impl;

import java.util.List;

import org.myhibernate.mvc.annotation.Implement;

import demo.dao.ProductDao;
import demo.entity.Product;
@Implement(version=2)
public class ProductDaoImpl2 implements ProductDao
{
	public List<Product> findAll() throws Exception {
		System.out.println("ProductDaoImpl2 findAll 222");
		return null;
	}
}

这里指定version为2

再调用测试

public class Test {
	public static void main(String[] args) throws Exception
	{
		
		ProductDao productDao=(ProductDao)Factorys.getImpl(ProductDao.class);
		System.out.println("productDao="+productDao);
		productDao.findAll();
		
	}
}

控制台输出如下

productDao=demo.dao.impl.ProductDaoImpl2@3c954549

ProductDaoImpl2 findAll 222

可以看到获取的就是version值高的实现类






注册
重写个别方法
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }