- 浏览: 114232 次
- 性别:
- 来自: 广州
最新评论
文章列表
之所以讲解DefaultNamespaceHandlerResolver类,是因为这个类跟解析xml的时候有着莫大的关联。并且从中也可以学到一些构建代码方法,先看一下我们的配置文件,一般我们会以这样的开头
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/sche ...
实例化bean和依赖注入是在AbstractBeanFactory的入口,但是实际还是在AbstractAutowireCapableBeanFactory这个类中实现。bean实例化的时候有两种基本的方式,就是一用默认构造函数,一是在xml配置自己的可带参数的构造函数,这两种方式在spring中实例的流程是不一样的,对应的BeanDefinition的数据也是不同。所以这里就根据这两种实例化的方式来讲解这个至关重要的AbstractAutowireCapableBeanFactor类。
默认构造函数实例化的方式
这里首先画出实例化的时序图:如下
...
AOP的概念
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面)。这就让一些问题很简单化了,例如:开始我们实现了一些逻辑并上线了,现在客户又来了一个新的需求。要在每次交易之前统计下,或者记录下他们的交易简单资料。而你发现你其他模块可能正好有这部分的功能。那AOP就可以用得上了,使用AOP就可以在不修改源代码的情况下新增这些功能。就是在交易前这个切面,新装你的一些功能。这有点像拦截器和Filter。其实都是一个原理。前面说了解析xml和Bean的实例化。
而AOP的实现的话都是在我前面两篇sp ...
正则表达式中量词有下面六种:
?表示0次或1次
* 表示0次或0次以上
+ 表示1次活1次以上
{n} 表示正好n次
{n,m} 表示n-m次
{n,}表示n次以上
简单的应用上面的还是很简单的。例如:
var str = "bad bbad";
var patt = /b?a\w ...
一:Ext操作Dom
可以通过Id获取Ext.Element对象
var aaa = Ext.get("input"); //input为id
var bbb =Ext.fly("input"); //只操作一次建议用这个
可以通过下面方式把Ext.Element对象转换成dom对象
var pp = Ext.get('div1');//有一个div其id为div1
var ppdd = Ext.getDom('div1');
...
一:多行匹配
很多时候我们可以通过边界符号(^,$,\b,\B)达到我们匹配某些字符串的目的。但是如果字符串有多行呢,这个其实很简单了,只需加个m就指定为多行匹配了。实例:
var str = "first second\nthird fourth\nfifth sixth";
var patt = /(\w+)$/gm
console.log(str.match(patt));
结果:
["second", "fourth", "sixth"]
如果没有指定m,则只会得到sixth了, ...
非捕获性分组:
前面讲了创建反向引用的分组,这种分组一般称为捕获性分组。同时也存在一种非捕获性分组。它不会创建反向引用,因为在比较长的正则表达式中,分组多了会很影响效率。所以使用非捕获性分组。
创建非捕获性分组是这样的(?:开始然后写表达式。例如
var str = "#123231312";
var patt = /#(?:\d)/
console.log(patt.test(str));
console.log(RegExp["$1"]);
得到结果为:
true
(an empty string)
可以看到 ...
正则表达式是一个强大的东西,以前一直对这里比较模糊,这里写下理解。
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。下面是两种创建方式
var patt =/pattern/attributes
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用
于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,
不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该
参数。
var p ...
最近在学习jquery框架,感激比较容易,也比较实用,虽然没有ext那么强大,但是一般的需求还是能满足。并且很好的一点是,jquery在众多人的关注努力下每天都在进步。以前的UI设计也不是很好,但是出现了JqueryEasyUI1.2之后,发 ...
JqueryEasyUI是一个不错的UI设计库,包含了很多。其中有用到combotree,这是对html标签中select的更好,是一个下拉树,显示效果比较好,看起来层次清晰,并且不是很难。图片效果如下:
[imgr]1[/imgr][imgr]2[/imgr]
查看JqueryEasyUI里的demo得到要到达这个效果其实只是一句话可以搞定,<input name="formMap.supperMenuId" class="easyui-combotree" value="<s:property value='m ...
开发过程中经常要用到Ajax从后天返回一些数据,从官网API上学习得,可以这样使用:
$.ajax({ url:"/school_class/studentInfoAction_validatorCode.action?studentInfoVo.studentNo="+$("#studentNo").val()+"&studentInfoVo.studentinfoId="+$("#id").val(), type:"post", //post提交 asyn ...
appendTo(content)解释为:
把所有匹配的元素追加到另一个指定的元素元素集合中。实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。
Api上的例子:
HTML 代码:
<p>I would like to say: </p>
<div></div><div></div>
jQuery 代码:
$("p").appendTo("div");
结果:
<div><p> ...
做CRUD时,点击一条数据进行修改。如果数据中有下拉框,怎样初始化是一个问题。以下是我的办法:
<select id="yearId" name="studentInfoVo.yearId" class="easyui-validatebox" validType="requiredSelect['-1','请选择学年度']" onchange="selectGrade(this);"> <option value="-1" >--请 ...
当Jquery和struts2同时使用时一个巧妙解决乱码的问题,
struts2有自带一个Encoding的Filter能解决乱码问题,当然有中文的时候,form要用post请求。具体配置如下:
<constant name="struts.i18n.encoding" value="UTF-8" />
这个要struts2 的2.1.8版本才能使用,但是2.1.6也可以使用,但是在web.xml中就要用一下配置才可以
<filter-name>struts2</filter-name> <filter- ...
单从字面上是列名不存在,但是实际上却是因为少写了单引号而引起的, 例如:(其中id是用uuid生成,对应是string类型) List list2 =session.createQuery("from User where id= "+"ff8080812d9f1104012d9f11053a0001").list(); 则会报一下错误 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'ff8080812d9f1104012d9f110 ...