首页 > 代码库 > 通用方法重用,测试实现。
通用方法重用,测试实现。
最近在思考代码重用的问题,举个简单的例子,为了隔离前后台的操作,前台一个项目,后台一个项目,这里就会出现部分通用代码段的重用问题,本文提供几个解决方案:
一: 我们可以选择项目依赖,很简单的就解决这个问题,本文不对这里的解决方法进行过多描述(项目右键-Properties-Java Build Path 选中Projects,将通用的base项目代码加入到Build Path里面即可)··
二: 将通用代码段打包Jar,今天在测试这种解决方案的时候,在使用spring注解引入jar包中的service时候,会报找不到对应的service,很奇怪的一个问题,后来查询相关资料,发现问题出现在生成jar包的方式上,即所谓打jar包:
如果打包Jar的时候 选中这个Add directory entries 之后,就不会出现所谓的getResource获取资源总是为空的情况了~~
具体原因如下:
可以使用如下代码段进行测试:
public static void main(String[] args) throws Exception { // 项目中jar包所在物理路径 String jarName = "E:/testpackage.jar"; JarFile jarFile = new JarFile(jarName); Enumeration<JarEntry> entrys = jarFile.entries(); while (entrys.hasMoreElements()) { JarEntry jarEntry = entrys.nextElement(); System.out.println(jarEntry.getName()); } }默认生成的jar包,运行结果如下:
META-INF/MANIFEST.MF com/alexgaoyh/util/DateStyle.class ……如果勾选Add directory entries选项生成的jar包,运行结果如下:
META-INF/MANIFEST.MF com/ com/alexgaoyh/ com/alexgaoyh/util/ com/alexgaoyh/util/DateStyle.class
com.test真正的含义是package包域名,就好比.net里的命名空间,它只是为了区分、汇总、唯一标识不同的类而提出的概念,跟文件夹目录层次结构是两回事,我们只是习惯上用文件夹目录来展示package而已。但package却不一定非要用过文件夹目录来展示。
通用方法重用,测试实现。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。