« | September 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 | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9711651 建立时间:2004年12月20日 |

| |
[java语言]深入浅出 spring AOP (六) 原创空间, 软件技术
邢红瑞 发表于 2006/1/3 14:28:21 |
前面的几个例子都是拦截所有类的所有方法,但是我们主要是拦截某些类的某些方法,使用Pointcut可以做到。 pointcut是一系Joinpoint的集合,它定义了需要注入advice的位置。AOP框架必须允许开发者指定切入点, advisor是pointcut和advice的装配器,是将advice织入预定义位置的代码中。 Pointcut的定义 public interface Pointcut { ClassFilter getClassFilter (); MethodMatcher getMethodMatcher(); } Pointcut interface只有两个方法,返回ClassFilter and MethodMatcher的实例。ClassFilter接口被用来将切入点限制到一个给定的目标类的集合。 如果matches( |
|
[java语言]深入浅出 spring AOP (五) 原创空间, 软件技术
邢红瑞 发表于 2006/1/2 10:37:23 |
在spring的配置文件中,数据库密码是明文的,如何保护你的数据库密码,使用spring的MethodInvokingFactoryBean可以轻易做到。 配置文件 <property name="password"> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass" > <value>com.tatan.util.XxxUtil</value> & |
|
[java语言]java语言对时间的处理 原创空间, 软件技术
邢红瑞 发表于 2005/12/17 10:54:40 |
1.处理数据库,有DATE Java.sql.Date 日期, TIME Java.sql.Time 时戳,TIMESTAMP Java.sql.Timestamp 当日日期和时间, 对应的ResultSet的方法 DATE java.sql.Date java.sql.Date getDate() TIME |
|
[java语言]深入浅出 spring AOP (四) 原创空间, 软件技术
邢红瑞 发表于 2005/12/12 13:54:34 |
spring的Advice分为5种,Before,After returning,Around,Throws,Introduction。使用这些Advice可以完成AOP相关部分90%的编码, 剩余的10%只好依靠AspectJ了。在大多数情况下,around advice可以完成Before,After returning,Throws的所有功能。 Before advice是比较有用的advice,它可以修改传递给method的参数,可以通过异常中断method的执行,通常用于检测用户的权限。 Servlet过滤器是Before advice的一种方式,提供了在servlet调用前执行其他处理的能力。 下面给个例子 接口 package org.tatan.test;
public interface Worker { void doSomeWork(int numOfTimes); &nb |
|
[java语言]JdbcTemplate为什末不用connection,connection为什末不能共享 原创空间, 软件技术
邢红瑞 发表于 2005/11/28 16:13:54 |
JdbcTemplate为什末包含javax.sql.DataSource ,而不是用connections,因为使用DataSource有很多优点, 我们在复杂的应用中如果使用connections(当然可以使用DataSource.getConnection()得到), 必须捕捉SQLExceptions,这样spring框架无法处理SQLException异常,在抛出异常时,无法关闭connection。 connection为什末不能共享?DataSource.getConnection()得到connection实例,一般都不相同,这由连接池的具体实现控制, 所以大家不要使用oracle的临时表,因为如果每次连接都不一样的话,下次就没有临时表了。 建立连接是消耗时间的,在一段时间内,connection只能由一个用户使用,为了避免transaction产生冲突,一些jdbc驱动不支持多线程访问同一个connection。还有一个更致命的问题,众所周知,transaction是基于connection的,即使多个用户使用一个连接,大家在一个事 |
|
[java语言]深入浅出 spring AOP (三) 原创空间, 软件技术
邢红瑞 发表于 2005/11/26 9:58:58 |
spring AOP使用,使用CGLIB应该使用接口不是类,这点务必注意。
使用BeanNameAutoProxyCreator声明事务,
<!-- define transaction interceptor -->
<bean id="txInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="transactionAttributeSource"><ref bean="txAttributes"/></property> |
|
[java语言]解决Word文档的检索问题,lucene我的天职是搜索 原创空间, 软件技术
邢红瑞 发表于 2005/11/20 13:08:37 |
lunece是个姓氏,Lucene is Doug’s wife’s middle name; it’s also her maternal grandmother’s first name.
看了车东老大的blog,针对MSWord文档的解析器,因为Word文档和基于ASCII的RTF文档不同,
需要使用COM对象机制解析。其实apache的POI完全可以做到解析MSWord文档。
我修改了别人的一个例子,算是抛砖引玉,大家不要那转头打我。
Lucene并没有规定数据源的格式,而只提供了一个通用的结构(Document对象)来接受索引的输入,
但好像只能是文本数据。
package org.tatan.framework;
import java.io.PrintStream;
import java.io.PrintWriter;
public class DocumentHa |
|
|