`

jdk的PropertyChangeSupport属性值修改的观察者模式应用

    博客分类:
  • java
 
阅读更多

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来完成。

0
0
分享到:
评论

相关推荐

    观察者模式详解(JDK中最重要的模式)

    ### 观察者模式详解(JDK中最重要的模式) #### 概述 观察者模式是一种设计模式,它定义了一种一对多的关系,使得多个观察者对象可以同时监听某个主题对象。当主题对象的状态发生变化时,它会通知所有的观察者对象...

    JAVA设计模式在JDK中的应用

    JDK中装饰者模式的应用包括: - `java.io.BufferedInputStream(InputStream)`: 增加缓冲功能的输入流。 - `java.io.DataInputStream(InputStream)`: 提供数据输入流。 - `java.io.BufferedOutputStream...

    JDK中有关23个经典设计模式的示例

    这些模式被广泛应用于Java等面向对象语言中,JDK(Java Development Kit)本身就是一个很好的实践场所,因为它包含了大量使用这些设计模式的例子。下面我们将详细探讨JDK中的23个设计模式及其应用。 1. 单例模式...

    设计模式在JDK的中的应用,PPT资源

    设计模式在JDK中的应用课设--PPT资源 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以...

    监听者模式练习(包括jdk api的实现和自定义实现)

    监听者模式,也被称为观察者模式,是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Java中,JDK提供了内置的监听器接口和类来支持...

    专题资料(2021-2022年)java实验策略模式、观察者模式和组合模式.doc

    实验目标主要集中在三种设计模式的理解与应用上:策略模式、观察者模式以及组合模式。这些模式是面向对象设计中的核心概念,有助于创建灵活、可扩展的代码。 1. **策略模式**: 策略模式是一种行为设计模式,它使...

    Linux更换JDK+weblogic更换JDK

    ### Linux系统更换JDK与WebLogic服务器更换JDK详解 #### 一、概述 在Linux环境中,更换JDK(Java Development Kit)对于确保应用程序能够稳定运行至关重要。此外,如果使用了Oracle WebLogic Server作为应用服务器...

    JDK中的设计模式

    Java Development Kit (JDK) 中包含了许多设计模式的应用实例,这些实例不仅展示了设计模式的强大功能,还为Java开发者提供了宝贵的参考。 #### 创建型模式 创建型模式关注的是对象的创建方式。通过这种方式,可以...

    使用Java8实现观察者模式的方法(上)

    观察者模式是一种设计模式,它在软件开发中扮演着关键角色,特别是在构建响应式系统时。...然而,理解和解决观察者模式中的复杂问题,如内存泄漏、线程安全和性能优化,仍然是开发者在实际应用中需要关注的重点。

    设计模式在JDK中的应用 (背景、UML结构、角色、职责)

    设计模式在JDK中的应用课设完整报告,Word文档 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的...

    java观察者模式介绍

    Observer模式定义对象间的一对多的依赖关系,当一个对象(被观察者)的状态发生改变时, 所有依赖于它的对象(观察者)都得到通知并被自动更新。JDK里提供的observer设计模式的实现由java.util.Observable类和 java....

    查看JDK中变量的值, debug JDK

    接下来,我们需要将编译好的`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安装包,JDK11安装包JDK11...

    JDK8注解应用例子

    本篇文章将深入探讨JDK8中的注解应用。 一、元注解 元注解是用于定义其他注解的注解。JDK8中包含以下元注解: 1. `@Retention`:定义注解的生命周期,可以是SOURCE(源码阶段)、CLASS(编译时)或RUNTIME(运行...

    设计模式实战、jdk源码|simple-demo.zip

    创建型模式(如单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式)、结构型模式(如适配器模式、装饰器...观察者模式、迭代器模式、访问者模式、命令模式、备忘录模式、状态模式、职责链模式、解释器模式)...

    jdk 内存设置jdk内存设置

    jdk 内存设置 jdk 内存设置是 Java 开发中非常重要的一部分。它直接影响着 Java 应用程序的性能和稳定性。...合理的 jdk 内存设置可以提高 Java 应用程序的性能和稳定性,提高开发者的开发效率和用户的使用体验。

    jdk15.0.2.zip

    JDK,全称为Java Development Kit,是Oracle公司提供的用于开发和运行Java应用程序的核心工具集。JDK 15.0.2是Java的一个重要版本,它包含了Java编译器(javac)、Java虚拟机(JVM)、Java运行时环境(JRE)以及各种...

    JDK和ORACLE JDK冲突修改环境变量

    - 如果已经有`JAVA_HOME`变量,则修改其值为Oracle JDK的安装路径。 ##### (3) 更新`Path`环境变量 - 在“系统变量”区域找到`Path`变量,点击“编辑”。 - 将Oracle JDK的`bin`目录路径添加到`Path`变量的开头,...

    windows64位jdk6、jdk7、jdk8安装包

    Java开发工具包(Java Development Kit,简称JDK)是Oracle公司提供的用于开发和运行Java应用程序的软件包。在本主题中,我们重点关注的是Windows 64位系统下的JDK6、JDK7和JDK8的安装包。这三个版本的JDK在Java的...

    jdk-6u21-windows-i586

    在用户变量中添加下面的变量和属性值 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:...

Global site tag (gtag.js) - Google Analytics