import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class PropertyChangeSupportTest {
static TestBean testBean = new TestBean();
public static void main(String[] args) {
PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(testBean);
propertyChangeSupport.addPropertyChangeListener(new PropertyChangeListener(){
@Override
public void propertyChange(PropertyChangeEvent evt) {
if(evt.getPropertyName().equals("name")){
System.out.println("bean:" + PropertyChangeSupportTest.this.testBean + " field:" + evt.getPropertyName() + " value change,old value:" + evt.getOldValue() + " new value:" + evt.getNewValue());
}
}
});
testBean.setId(111);
testBean.setName("mike");
propertyChangeSupport.firePropertyChange("name","","mike"); //通知该属性值做了修改,通知相关listener进行处理
}
public static class TestBean{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
这是观察者模式的jdk应用场景,在我们平常的项目中,比如为了做到应用配置的动态加载,我们在应用启动后动态修改应用的一些配置参数时,需要通知相关应用了这个参数的应用点做出相应的变化,那么就可以用这个PropertyChangeSupport来完成。
分享到:
相关推荐
### 观察者模式详解(JDK中最重要的模式) #### 概述 观察者模式是一种设计模式,它定义了一种一对多的关系,使得多个观察者对象可以同时监听某个主题对象。当主题对象的状态发生变化时,它会通知所有的观察者对象...
JDK中装饰者模式的应用包括: - `java.io.BufferedInputStream(InputStream)`: 增加缓冲功能的输入流。 - `java.io.DataInputStream(InputStream)`: 提供数据输入流。 - `java.io.BufferedOutputStream...
这些模式被广泛应用于Java等面向对象语言中,JDK(Java Development Kit)本身就是一个很好的实践场所,因为它包含了大量使用这些设计模式的例子。下面我们将详细探讨JDK中的23个设计模式及其应用。 1. 单例模式...
设计模式在JDK中的应用课设--PPT资源 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以...
监听者模式,也被称为观察者模式,是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Java中,JDK提供了内置的监听器接口和类来支持...
实验目标主要集中在三种设计模式的理解与应用上:策略模式、观察者模式以及组合模式。这些模式是面向对象设计中的核心概念,有助于创建灵活、可扩展的代码。 1. **策略模式**: 策略模式是一种行为设计模式,它使...
### Linux系统更换JDK与WebLogic服务器更换JDK详解 #### 一、概述 在Linux环境中,更换JDK(Java Development Kit)对于确保应用程序能够稳定运行至关重要。此外,如果使用了Oracle WebLogic Server作为应用服务器...
Java Development Kit (JDK) 中包含了许多设计模式的应用实例,这些实例不仅展示了设计模式的强大功能,还为Java开发者提供了宝贵的参考。 #### 创建型模式 创建型模式关注的是对象的创建方式。通过这种方式,可以...
观察者模式是一种设计模式,它在软件开发中扮演着关键角色,特别是在构建响应式系统时。...然而,理解和解决观察者模式中的复杂问题,如内存泄漏、线程安全和性能优化,仍然是开发者在实际应用中需要关注的重点。
设计模式在JDK中的应用课设完整报告,Word文档 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的...
Observer模式定义对象间的一对多的依赖关系,当一个对象(被观察者)的状态发生改变时, 所有依赖于它的对象(观察者)都得到通知并被自动更新。JDK里提供的observer设计模式的实现由java.util.Observable类和 java....
接下来,我们需要将编译好的`debug_rt.jar`应用到我们的项目中,以实现查看JDK源代码变量值的功能: 1. 当尝试调试Java程序,尤其是在涉及JDK内部类或方法时,会发现无法查看JDK源代码的变量。这是因为默认的JDK库...
JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...
本篇文章将深入探讨JDK8中的注解应用。 一、元注解 元注解是用于定义其他注解的注解。JDK8中包含以下元注解: 1. `@Retention`:定义注解的生命周期,可以是SOURCE(源码阶段)、CLASS(编译时)或RUNTIME(运行...
创建型模式(如单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式)、结构型模式(如适配器模式、装饰器...观察者模式、迭代器模式、访问者模式、命令模式、备忘录模式、状态模式、职责链模式、解释器模式)...
jdk 内存设置 jdk 内存设置是 Java 开发中非常重要的一部分。它直接影响着 Java 应用程序的性能和稳定性。...合理的 jdk 内存设置可以提高 Java 应用程序的性能和稳定性,提高开发者的开发效率和用户的使用体验。
JDK,全称为Java Development Kit,是Oracle公司提供的用于开发和运行Java应用程序的核心工具集。JDK 15.0.2是Java的一个重要版本,它包含了Java编译器(javac)、Java虚拟机(JVM)、Java运行时环境(JRE)以及各种...
- 如果已经有`JAVA_HOME`变量,则修改其值为Oracle JDK的安装路径。 ##### (3) 更新`Path`环境变量 - 在“系统变量”区域找到`Path`变量,点击“编辑”。 - 将Oracle JDK的`bin`目录路径添加到`Path`变量的开头,...
Java开发工具包(Java Development Kit,简称JDK)是Oracle公司提供的用于开发和运行Java应用程序的软件包。在本主题中,我们重点关注的是Windows 64位系统下的JDK6、JDK7和JDK8的安装包。这三个版本的JDK在Java的...
在用户变量中添加下面的变量和属性值 Classpath E:\jdk\lib\tools.jar; E:\jdk\lib\dt.jar Java_home E:\jdk Path E:\jdk;E:\jdk\bin 在系统变量中添加下面的变量和属性值 CLASSPATH E:\jdk\lib\tools.jar; E:...