- 浏览: 916418 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (445)
- 备忘 (0)
- java基础 (28)
- jsp (15)
- css (4)
- javascript (30)
- struts (7)
- servlet (2)
- struts2 (7)
- jdbc (16)
- hibernate (22)
- ibatis (0)
- jpa (1)
- spring (17)
- spring定时任务 (8)
- 整合开发 (12)
- JavaArticle (0)
- php (6)
- velocity (2)
- mysql (19)
- sqlserver (52)
- oracle (23)
- lucene (49)
- ajax (13)
- dwr (5)
- JFreeChart (1)
- service (14)
- tools (18)
- c#基础 (20)
- 程序安全 (0)
- 学习网站 (1)
- 社会需求 (2)
- flash (1)
- 流媒体 (1)
- java_code (1)
- htmlparser (1)
- 速动画教程 (5)
- 设计模式 (1)
- xml操作 (2)
- uml操作 (4)
- 测试 (1)
- linux (8)
- 版本控制 (4)
- 服务器 (12)
- 安全 (6)
- 美工 (2)
最新评论
-
Zhang_amao:
我想问一下, 你用的lucene版本和highligher的版 ...
使用Lucene的Highlighter实现文件摘要的自动提取 -
wangmengfanwangzhi:
博主,你的QQ是什么啊?有关于lucene的问题想要请教啊~~ ...
Lucene下载及测试 -
cutesunshineriver:
讲得很好,理解起来很顺,对个人学习的帮助性很大,谢谢博主。
velocity入门一 -
libin2722:
我这里有一个任务调度,在晚上3点时候会自动将数据库中某表的数据 ...
Lucene-2.2.0 源代码阅读学习(16) -
greatwqs:
java -cp $JVM_ARGS $classpath ...
java的cp命令
org.springframework.web.util.IntrospectorCleanupListener监听器主要负责处理由JavaBean Introspector使用而引起的缓冲泄露, 它是一个在web应用关闭时清除JavaBean Introspector的监听器,在web.xml中注册这个listener可以保证在web应用关闭的时候释放掉与这个web应用相关的class loader和由它管理的类.
如果你使用了JavaBeans Introspector来分析应用中的类.Introspector缓冲中会保留这些类的引用.结果在你的应用关闭的时候,这些类以及web应用相关的class loader没有被垃圾回收.
不幸的是,清除Introsepctor的唯一方法是刷新整个缓冲,这是因为我们没有办法判断哪些是属于你的应用的引用,所以删除被缓冲的Introspection会导致把这台电脑上的所有应用的introspection都删掉.
spring托管的bean不需要使用这个监听器.因为spring它自己的introspection所使用的缓冲在分析完一个类之后会被马上从javabeans introspector缓冲中清除掉.
应用程序中的类从来不直接使用JavaBeans Introspector,所以他们一般不会导致内部查看资源泄露,但是一些类库和框架往往会产生这个问题.如:Struts和Quartz.单个的内部查看泄露会导致整个的web应用的类加载器不能进行垃圾回收,在web应用关闭之后,你会看到此应用的所在静态资源如单例,这个错误不是由该类自身引起的.
java内省(Introspector)简介
内省是 Java 语言对 Bean 类属性、事件的一种缺省处理方法。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setName 来访问 name 属性,这就是默认的规则。 Java 中提供了一套 API 用来访问某个属性的 getter/setter 方法,通过这些 API 可以使你不需要了解这个规则(但你最好还是要搞清楚),这些 API 存放于包 java.beans 中。
一般的做法是通过类 Introspector 来获取某个对象的 BeanInfo 信息,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),通过这个属性描述器就可以获取某个属性对应的 getter/setter 方法,然后我们就可以通过反射机制来调用这些方法。下面我们来看一个例子,这个例子把某个对象的所有属性名称和值都打印出来:
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
/**
* 内省演示例子 * */
public class IntrospectorDemo {
public static void main(String[] args) throws Exception{
IntrospectorDemo demo = new IntrospectorDemo();
demo.setName( "Winter Lau" );
// 如果不想把父类的属性也列出来的话,
// 那 getBeanInfo 的第二个参数填写父类的信息
BeanInfo bi = Introspector.getBeanInfo(demo.getClass(), Object. class );
PropertyDescriptor[] props = bi.getPropertyDescriptors();
for ( int i=0;i<props.length;i++){
System.out.println(props[i].getName()+ "=" +prop[i].getReadMethod().invoke(demo,null));
}
}
public String getName() {
return name;
}
public void setName(String name) {
this .name=name;
}
}
Web 开发框架 Struts 中的 FormBean 就是通过内省机制来将表单中的数据映射到类的属性上,因此要求 FormBean 的每个属性要有 getter/setter 方法。但也并不总是这样,什么意思呢?就是说对一个 Bean 类来讲,我可以没有属性,但是只要有 getter/setter 方法中的其中一个,那么 Java 的内省机制就会认为存在一个属性,比如类中有方法 setMobile ,那么就认为存在一个 mobile 的属性,这样可以方便我们把 Bean 类通过一个接口来定义而不用去关心具体实现,不用去关心 Bean 中数据的存储。比如我们可以把所有的 getter/setter 方法放到接口里定义,但是真正数据的存取则是在具体类中去实现,这样可提高系统的扩展性。
发表评论
-
Struts2+Hibernate3+Spring2问题
2009-11-03 16:44 7531.在初次整合的时候,报出如下错误 org.apache.c ... -
Spring提供的CharacterEncoding和OpenSessionInView功能
2009-09-21 16:36 982<!--以下是由Spring提供的filter来解决St ... -
二级缓存
2009-09-21 16:05 856<bean id="sessionFactor ... -
sessionFactory的常规用法
2009-09-20 22:20 1156import java.util.List;import ja ... -
异常集合
2009-09-20 21:46 9721. org.springframework.beans.f ... -
配置文件
2009-09-20 17:56 821<?xml version="1.0" ... -
HibernateTemplate的常规用法
2009-09-20 17:49 1036HibernateTemplate提供非常多的常用方法来完成基 ... -
SSH
2009-09-20 14:02 1303Hibernate核心安装包下: hibernate3.ja ... -
properties配置数据源
2009-09-17 22:04 1468spring配置文件: <context:proper ... -
dbcp 配置spring 数据源
2009-09-17 16:29 3415Spring在第三方依赖 ... -
Spring+JDBC
2009-09-17 14:16 2355使用到的jar包: dist\spring.jar l ...
相关推荐
非常实用的过滤器,自己在网上找了很多资料,总结了一套切实可用的filter文档,希望能帮助你,完成你的工作
4899过滤器4899过滤器4899过滤器4899过滤器4899过滤器4899过滤器4899过滤器
Struts 2 过滤器的总结
登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器登陆过滤器
JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器
stm32 can 过滤器总结
虽然 Bloom 过滤器是众所周知的节省空间的数据结构,可以服务于“如果项目 x 在一个集合中?”之类的查询,但它们不支持删除。它们启用删除的差异(如计算 Bloom 过滤器)通常需要更多空间。 Cuckoo 过滤器提供了...
jQuery选择器过滤器全面的总结,老师推荐!
这一个过程就是过滤器要做的:你想访问这个网站,但是要把你过滤一遍,看你是否有相应的权限,再做出相应的响应。 因此在本次实战中,就要求当用户访问我们的主页面的时候,需要用过滤器验证一下其是否登录过,...
过滤器 是一段录制的录像 过滤器过滤器过滤器过滤器过滤器过滤器过滤器
自清洗过滤器(急冷水过滤器、胺液过滤器)技术协议书范本.doc
can入门教程CAN总线呕心沥血教程 STM32CAN过滤器总结: CANopen轻松入门.pdf can入门教程.pdf CAN总线呕心沥血教程.pdf STM32CAN过滤器总结.pdf STM32之CAN---CANID过滤器分析.pdf
一、过滤器的作用和概述 1.1 简述 1.2 使用场景 二、自定义过滤的两种方式 2.1 第一种方式 2.1.1 启动类增加注解@ServletComponentScan 2.1.2 定义一个filter类 2.1.3. 测试 2.2 第二种方式 2.2.1 自定义fitler类 ...
不允许未登陆用户访问的过滤器配置,filter,用户登陆过滤器,session判断用户登陆 不允许未登陆用户访问的过滤器配置
利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限利用过滤器设置权限
通风空调高效过滤器泄漏测试记录(一)
Servlet过滤器的简单使用,实现一个登陆界面。代码和博文几乎一致。
struts2配置过滤器 示例代码
本过滤器抓取过滤器引脚输出的样本,将样本的所有参数,通过列表直观的显示出来,同时还可以抓取样本数据,输出到磁盘。 参见本过滤器的介绍文章:...在一个过滤器图中,最多可以创建10个此采样过滤器。
servlet过滤器实例经典过滤器,手把手交你配置过滤器,五大常用过滤器源码,走过路过的同事们注意了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!