|
真爱的事业和真正的爱情一生只有一次,都值得我们温柔地相待,因为那种感觉是永远都无法复制的, 这世界真正属于你的东西其实并不多,你不好好珍惜,它便会离你而去,包括机遇,包括爱情,包括生命。 不要找任何理由, 当幸福在你身边的时候就抓住它,你就一定会很幸福! |
时 间 记 忆 |
« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
blog名称:玻璃杯中的花生壳 日志总数:162 评论数量:249 留言数量:1 访问次数:824278 建立时间:2004年11月4日 |
 | | |
|
|
不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的。在以往的应用中,数据源一般是Web应用服务器提供的。在Spring中,你不但可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源,此外,你还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试
配置一个数据源 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。
DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括 |
|
线程的创建和启动
java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。
Thread类是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法:
Thread t = new Thread(); t.start();
start()方法是一个native方法,它将启动一个新线程,并执行run()方法。Thread类默认的run()方法什么也不做就退出了。注意:直接调用run()方法并不会启动一个新线程,它和调用一个普通的java方法没有什么区别。
| |
|
java中switch的使用
关于java中switch使用的一些说明
switch(表达式) { case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句; } default就是如果没有符合的case就执行它,default并不是必须的. case后的语句可以不用大括号. switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. 一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
例如:
|
|
自己的性格是属于偏急的那种,什么事情到手上,恨不能马上做完,就开始享受生活了,结果就是在coding的过程中,遇到问题自己比较急,问题解决的不好,就求助于别人,而在心态好的情况下,自己未必也不能解决;然后就是在coding完以后,测试粗糙,以至于后来的bug很多,(在编码的过程中,coding是30%,测试是70%,觉得也是依照每个人的性格不一样,有的人习惯在coding比较细心,有得人比较粗心,自然在coding和测试中花的时间比例不同)对自己的信心也是一种打击,也是一种不成熟的表现,还是那句话,人才是磨出来的,自己慢慢用心体会吧。 |
|
1.人才是磨出来的
2.每天应该反省自己,做到了什么,没做到什么了,做错了什么 |
|
这一周我都在用空余的时间来看Spring这个东西,突然觉得这个东西并没有想像中那么深不可测,最多只有AOP这方面的东西不是我所熟悉的,不过经过自己努力,也不是不可理解的。
AOP,面向切面的编程,是一种从各个方面对软件系统进行关注的开发方法,也就是说,可以把要实现的系统从多个方面进行理解和开发。比如一个系统,它包含了业务逻辑,日志管理,安全管理(认证管理)等,一般而言,我在开发包含这些方面的程序时,就很容易进入单面一维的操作去:比如下面是一个用户管理程序的部份: 1、验证用户是否已经登录 2、记录日志 3、进行操作,对重要的操作都可能要进行日志记录。 4、记录用户离开时间 ...... 由上面的步骤可以看到,真正的业务逻辑只有第3步,其它的都是附加的功能,或者是从另一方面加入的功能,他们和业务逻辑是相辅相成,可是业务逻辑并不需要知道这些附加的功能,又从另一方面来看,每一进行的操作都会触发附加的操作,而且这些应该是自动的,业务逻辑所不知道的。
|
|
1、Spring只支持方法拦截,也就是说,只能在方法的前后进行拦截,而不能在属性前后进行拦截。 2、Spring支持四种拦截类型:目标方法调用前(before),目标方法调用后(after),目标方法调用前后(around),以及目标方法抛出异常(throw)。 3、前置拦截的类必须实现MethodBeforeAdvice接口,实现其中的before方法。 4、后置拦截的类必须实现AfterReturningAdvice接口,实现其中的afterReturning方法。 5、前后拦截的类必须实现MethodInterceptor接口,实现其中的invoke方法。前后拦截是唯一可以控制目标方法是否被真正调用的拦截类型,也可以控制返回对象。而前置拦截或后置拦截不能控制,它们不能印象目标方法的调用和返回。 但是以上的拦截的问题在于,不能对于特定方法进行拦截,而只能对某个类的全部方法作拦截。所以下面引入了两个新概念:“切入点”和“引入通知”。 6、”切入点“的定义相当于更加细化地规定了哪些方法被哪些拦截器所拦截,而并非所有的方法都被所有的拦 |
|
| | |
|