原来为了省事,直接利用classLoader 获取一个数据流,去解析。结果总找不到dtd,因为它默认在工程根目录下去找。
Inputstream input = classLoader.getResourceAsStream(filepath);
digester.parse(input);
只要包装成inputsource 就可以了
URL inputUrl = classLoader.getResource(filepath);
InputSource ins = new InputSource(inputUrl.toExternalForm());
digest...
阅读全文>>
Maven内置了三大特性:属性、Profile和资源过滤来支持构建的灵活性。
Maven属性
事实上有六种类型的Maven属性:
-
内置属性:主要有两个常用内置属性——${basedir}表示项目根目录,即包含pom.xml文件的目录;${version}表示项目版本。
-
POM属性:pom中对应元素的值。例如${project.artifactId}对应了<project><artifactId>元素的值。具体有哪些POM属性可以用,可以查看本页末的附件——超级POM
-
自定义属性:在pom中<propertie...
阅读全文>>
maven 构建项目时,可能会引用到一些公司的其他项目。或引用的jar 包在maven 主仓库加载不到。
这时我们可以将我们需要的jar 包安装到本地仓库中。方法如下。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<vers...
阅读全文>>
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。它除了出色的程序构建能力外,还提供 Ant等其他构件工具所缺少的高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目,而使用 Ant则需要十几行。事实上,由于Maven的面向项目的方法,许多 Apache Jakarta 项目现在使用Maven,而且公司项目采用Maven的比例在持续增长。相较而言maven的学习难度并不大,官网文档较为齐全,但需要点英文知识。这篇文章准备以实战的方式,从零开始备忘一下maven的使用方法...
阅读全文>>
-
加载分析配置文件,创建配置的Bean 实例。
-
分析bean间依赖关系,执行相关的bean 依赖注入
-
检查受管Bean 是否实现BeanNameAware 接口。是,则执行setBeanName(String name) 方法,将 name 注入其中,以让该Bean实例识别在配置文件中定义的名字。
-
检查受管Bean 是否实现BeanFactoryAware 接口。是,则执行setBeanFactory(BeanFactory beanFactory) 方法
-
检查受管Bean 是否实现BeanPostProcessor接口。是,则执行Object postProcessBeforeInitia...
阅读全文>>
一、深入浅出理解索引结构
实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered
index,也称聚类索引、簇集索引)和非聚集索引(nonclustered
index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:
其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而
按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部...
阅读全文>>
UML 类图介绍及画法举例
1. 类(Class)
一般包含3个组成部分。第一个是类名;第二个是属性(attributes);第三个是该类提供的方法(类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。
类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。
属性和方法书写规范:修饰符 [描述信息] 属性、方法名称 [参数] [:返回类型|类型]
属性和方法之前可附加的可见性修饰符:
加号(+)表示public;减号(-)表示private;#号表示protected;省略这些修饰符表示具有package(包)级别的可见性。
如果属...
阅读全文>>
Maven 调用命令常用的两种方式有:
1.mvn pluginID:goalID -Dparam=value
2.mvn deploy
其中第一种方式很容易理解,就是使用一些参数调用某些插件的某个目标。通常实现的就是一个功能。
而第二种方式则实现了maven 的原则,约定优于配置。maven 通过约定生命周期,并绑定响应插件到生命周期的某个阶段来来简化我们对插件命令的调用。
官方文档:
http://maven.apache.org/guides/int...
阅读全文>>
在开发高并发量,高性能的网站应用系统时,缓存Cache起到了非常重要的作用。
本文主要介绍EHCache的使用,以及使用EHCache的实践经验。
笔者使用过多种基于Java的开源Cache组件,其中包括OSCache、JBossCache、EHCache。OSCache功能强大,使用灵活,可用于对象缓存、Filter缓存以及在JSP中直接使用cache标签。笔者在最近的使用过程中发现,在并发量较高时,OSCache会出现线程阻塞和数据错误,通过分析源代码发现是其内部实现的缺陷。JBossCache最大的优点是支持基于对象属性的集群同步,不过JBossCache的配置使用都较复杂,在并发量较高的情...
阅读全文>>
项目内存溢出,mat 查看了一下发现spring 存在两个实例。回过头看启动日志,果然spring被重复加载了。
在实际项目中spring的配置文件
applicationcontext.xml是通过spring提供的加载机制,自动加载的容器中去,在web项目中,配置文件加载到web容器中进行
解析,目前,spring提供了两种加载器,以供web容器的加载:一种是ContextLoaderListener,另一种是
ContextLoaderServlet。这两种在功能上完全相同,只是一种是基于Servlet2.3版本中新引入的Listener接口实现,而另
一种是基于Servl...
阅读全文>>