摘要: 默 认情况下,从bean工厂所取得的实例为Singleton(bean的singleton属性) Singleton: Spring容器只存在一个共享的bean实例,默认的配置。 Prototype: 每次对bean的请求都会创建一个新的bean实例。二者选择的原则:有状态的bean都使用Prototype作用域,而对无状态的bean则应该使用 singleton作用域。在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为 request、session和 global session。如果你希望容器里的某个bean拥有其中某种新的web 阅读全文
posted @ 2011-07-07 02:30 跳刀的兔子 阅读(4366) 评论(0) 推荐(0) 编辑
摘要: 在大部分情况下,容器中的bean都是singleton类型的。如果一个singleton bean要引用另外一个singleton bean,或者一个非singleton bean要引用另外一个非singleton bean时,通常情况下将一个bean定义为另一个bean的property值就可以了。不过对于具有不同生命周期的bean来说这样做就会有问题了,比如在调用一个singleton类型bean A的某个方法时,需要引用另一个非singleton(prototype)类型的bean B,对于bean A来说,容器只会创建一次,这样就没法在需要的时候每次让容器为bean A提供一个新的的b 阅读全文
posted @ 2011-07-07 02:20 跳刀的兔子 阅读(4709) 评论(0) 推荐(0) 编辑
摘要: 1、Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、Linux命令行下往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、Linux命令行下将改动的文件提交到版本库 svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使 阅读全文
posted @ 2011-07-05 16:02 跳刀的兔子 阅读(549) 评论(0) 推荐(0) 编辑
摘要: $vimtutor查看说明文档第一讲 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。 h (左移) j (下行) k (上行) l (右移) 2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车> 3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶ <ESC> :q! <回车> 或者输入以下命令保存所有修改∶ <ESC> :wq <回车> 4. 在正常模式下删除光标所在位置的字符,请按∶ x 5. 在正常模式下要在光标所在位置开始插入文本,请按∶ i 输入必要文本 <ESC& 阅读全文
posted @ 2011-06-24 17:06 跳刀的兔子 阅读(3968) 评论(0) 推荐(0) 编辑
摘要: 1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及 阅读全文
posted @ 2011-06-24 11:17 跳刀的兔子 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 定义:不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。 重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。 转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。 调用方式如下: request.getRequestDispatcher("apage.jsp").forward(request, response);//转发到apage.jsp ,地址栏地址不变。response.sendRedirect("apage.jsp") 阅读全文
posted @ 2011-06-23 19:04 跳刀的兔子 阅读(5299) 评论(1) 推荐(0) 编辑
摘要: 1.inputstrem和string转换时切记带上编码,如:IOUtils.toString(inputStream,"utf-8");2.string和byte[]转换时切记带上编码,如:DigestUtils.md5Hex(sb.toString().getBytes("utf-8")).toUpperCase();3.url编码解码时候要注意编码,如:URLEncoder.encode("中文","utf-8");4.使用httpclient post传中文时候,对各字段编码,如:StringParttem 阅读全文
posted @ 2011-06-23 10:56 跳刀的兔子 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 数组(Array)与ArrayList的主要区别:效率、动态扩增、对象类型和基本数据类型。1.自己的总结:1)精辟阐述:(《TIJ》第323页)初学者可以将ArrayList想象成一种“会自动扩增容量的array”。2)array([]):最高效;但是其容量固定且无法动态改变;ArrayList:容量可动态增长;但牺牲效率;3)建议:(《TIJ》第292页)基于效率和类型检验,应尽可能使用array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,array的功能就可能过于受限。4)java中一切皆对象,array也是对象。不论你所使用得array型别为何,arr 阅读全文
posted @ 2011-06-23 02:07 跳刀的兔子 阅读(2125) 评论(0) 推荐(0) 编辑
摘要: 第38条:检查参数的有效性1.应该在错误出现之后尽快的检测出错误;2.对于公有的方法,要用javac的@throws标签在文档中说明违反参数值限制时会抛出的异常,异常有IllegalArgumentException,IndexOutOfBoundsException,NullPointerException(详见60条);3.非公有的方法通常应使用断言(assert)来检查 它们的参数,如果断言失败,将会抛出AssertionError;也不同于一般的有效性校验,如果它们没有起到作用,本质上不会有成本的开销;4.当有效性检验工作非常昂贵,或者不切实际的,而且有效性校验已经隐含在计算过程中完成 阅读全文
posted @ 2011-06-22 23:44 跳刀的兔子 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 1.JSONObject是无序的;JSONArray是有序的2.JSONObject里的get()和opt()方法通过name得到values;put()方法通过name添加value;value的类型可以为:Boolean,JSONArray,JSONObject,Number,String,JSONNull;element()方法将key-Value转化为JSONObject;静态方法fromObject(Object obj)构造一个JSONObject对象;toXXX()方法转换为什么类型。例子:String seasonRange = {1:[2011-5-1,2011-9-1],2 阅读全文
posted @ 2011-06-22 20:46 跳刀的兔子 阅读(438) 评论(0) 推荐(0) 编辑