希尔排序是对于插入排序的一种优化代码:#include#includevoidshell_sort(int*p,intlen){inti;intj;intstep;inttmp;for(step=len/2;step>0;step=step/2){for(i=step;i=0&&tmp
【系统架构设计师】十二、系统质量属性与架构评估(开发期质量属性|运行期质量属性|面向架构评估的质量属性|质量属性效用树|质量属性场景)
帅次
系统架构设计师(新版)软件工程质量属性质量属性场景系统架构系统架构设计师软考
目录一、软件系统质量属性1.1开发期质量属性1.2运行期质量属性1.3面向架构评估的质量属性1.4质量属性效用树1.5质量属性场景1.5.1可用性质量属性场景描述1.5.2可修改性质量属性场景描述1.5.3性能质量属性场景描述相关推荐历年真题练习历年真题考情:本章节每年单项选择考8分左右,下午案例、论文也会有涉及,在系统架构设计师中本章节绝对是重点中的重点。主要学习软件系统质量属性、系统架构评估以
【Python】解决AttributeError: ‘NoneType‘ object has no attribute ‘xxxx‘
云天徽上
Pandaspython开发语言pandas机器学习numpy
【Python】解决AttributeError:'NoneType'objecthasnoattribute'xxxx'报错欢迎莅临我的个人主页这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!博主简介:我是云天徽上,一名对技术充满热情的探索者。多年的Python编程和机器学习实践,使我深入理解了这些技术的核心原理,并能够在实际项目中灵活应用。尤其
Java 入门指南:Java 并发编程 —— 同步工具类 CountDownLatch(倒计时门闩)
ZachOn1y
Javajava后端个人开发java-ee团队开发
文章目录同步工具类CountDownLatch常用方法使用步骤适用场景使用示例同步工具类JUC(Java.util.concurrent)是Java提供的用于并发编程的工具类库,其中包含了一些通信工具类,用于在多个线程之间进行协调和通信,特别是在多线程和网络通信方面。这些工具类提供了丰富的功能,帮助开发者高效地实现复杂的并发控制和网络通信需求。CountDownLatchCountDownLatc
Spring Boot 自动配置
Flying_Fish_Xuan
springboot后端java
SpringBoot自动配置详解SpringBoot是一种基于Spring框架的快速开发工具,提供了诸多便捷的功能,其中自动配置是其核心特性之一。自动配置大幅简化了Spring应用的开发过程,开发者无需手动编写繁琐的配置文件,SpringBoot会根据项目的依赖、运行环境以及类路径中的组件自动进行适当的配置。1.SpringBoot自动配置概述在传统的Spring应用中,开发者通常需要手动编写大量
C语言深入了解指针一(14)
tan180°
Cc语言
文章目录前言一、内存和地址内存究竟该如何理解编址二、指针变量和地址取地址操作符&解引用操作符*指针变量的大小总结前言 终于来到指针啦!如前篇末尾总结所说,这是你们马上要下大功夫的地方 但是,就像我们上初中的时候,有人说函数难;我们上高中的时候,有人说导数、圆锥难;上大学的时候,有人说微积分难,事实上,别被吓到了,先勇敢尝试,迈过去了也就那么回事~一、内存和地址脱离内存和地址讲指针就是耍流氓!内
未来商业战场的轮廓——宁向东线下课笔记
Tonytoni
关键词:横梯模型+互联网互联网+中间企业互联网模式品牌商信息开放字数:3569,建议阅读时间:10分钟继续来谈宁老师的第二个关键词:未来一、横梯模型第二部分,宁老师分析了未来商业的竞争态势,提出了一个模型:横梯模型。横梯模型横梯的上面,是互联网+,指的互联网平台型企业,包括BAT,google,Facebook等。这是目前正在发生的事情。横梯的下面,是实体制造业,未来将会发生+互联网。制造业的设备
寰球美购的商业模式的全面介绍
寰球美购
汉中全球美购商贸有限公司是由多个知名企业,天使投资人,以及多行业高级管理人共同出资创办。旗下寰球美购电子商务双平台项目,是基于移动互联网模式的分销数字化营销。覆盖了数码电子、商贸百货、美妆个护、服装配饰等多个领域。寰球美购APP诞生于移动电商浪潮下,将“供应商—生产商—消费者”紧密联系在一起,把从生产、分销到终端零售资源全面整合,减少了生产商由于积压和库存而产生的成本,使消费者最大获益。精简了出单
第八十四章 争与不争
禅茶语惑
对于权势,有的人梦寐以求,有的人却不屑一顾。这似乎是许多人永远走不出的迷障。如果真的细想之下,那权力的驾驭哪有那般容易,有的人膨胀,迷失了自我,有的人却把责任扛起来,搞得自己疲惫不堪。这背后的因果,看清的人不愿,看不清的人向往。赵天涯之所以不愿,是因为他知道这份责任有多大,他有他的梦想,并在自己的道路上走出了很远,这些尘世纷乱,他一旦沾染,恐怕从此精力分散。甚至那些虚幻的权与势,像是一种迷障,他不
python的魔法方法
zhongguo_boy
python
python的魔法方法python中的魔法方法是一些可以让你对类添加“魔法”的特殊方法,它们经常是两个下划线包围来命名的,比如__init__,__call__。魔法方法可以使Python的自由度变得更高,在面向对象方面表现的更好。python有很多魔法方法,根据其作用和特点,归纳总结为以下几类1.基础魔法方法1.1__new____new__是真正的构造函数,在实例化对象时被调用,通常你不会实现
PB TreeView 属性,事件详解
yujunl
PowerBuilder
■TreeView控件可以以树型方式来组织项目,不仅显示直观、界面友好,而且项目的管理和操作更为方便,是当前比较流行的一个控件。该控件的特点是在较小的空间可以分层次显示大量的数据,并且可以按照用户的要求检索数据。该控件具有以下功能:通过可以展开或者折叠的节点遍历数据。图形化和文本化的节点显示。拖放操作。包括剪切、复制和粘贴的节点操作。■典型编程通常TreeView控件用来让用户选择数据,或者进行数
DOK系统重写
yujunl
生活感悟
经验的积累,往往有意想不到灵感,一直想重写DOK的系统,工作量的庞大,有心无力!二年之后,对系统的熟知,对DELPHI的熟知,一个晚上一个无意的操作,竟然解决了问题。达到我的理想。很是骄傲了一段时间,多少人多少年,都没有解决的问题,在我手里解决了!我是幸运的而已!并非比他们牛。但绝对比他们努力!
料品档案没有配置主供应商信息
yujunl
U9C开发语言
这个问题经常会出现在普通用户的面前。没有合适的工程人员去打理料品档案。信息是缺漏的。用友给出来的提示,也让人摸不着头脑。只能是记下来备用吧。
光荣的劳动妇女们,节日快乐
Jing润玥六六
一年一度的妇女节又来了。每年都辛苦了公司工会小组成员和男同事们,总是想尽办法让众多女同事们能够留下一个难忘的节日。一大早到公司门口,就看到西装笔挺的男同事们战成两排,手拿玫瑰等待每一位进办公室的女同事们,场面极度热闹,也略显尴尬。毕竟在没有准备的情况下独自一人被全体男同事行注目礼,的确会觉得浑身不自在。随后就是献花、送礼物、给明年的自己写下一封信等环节了……按照往年的惯例,下午都会搞团建共庆节日,
每日感悟
醉清风lucky
世界正在发生巨变,但无论怎么变我们都要清楚自己能做什么想做什么,能做干什么然后踏踏实实做自己保持优雅与坚贞做人群里的少数派,做一个孤独的,清醒的,能自娱自乐的人!用暖心的文字,陪你聊天
极品小农场 名窑 第1092章
龘龑文轩
第1092章第一单生意李汉给嘟嘟换了小裙子,小人跑去拍戏,刘明笑说道。“照这样子,这以后你还要当着嘟嘟经纪人兼职助手,小家伙可离不开你这个好爸爸。”李汉笑着说道。“那样也不错,有个明星孩子,我不是脸上也有光吗?”“你真这么想?”刘明打心眼里,却不是太瞧的起明星,这东西如同水泡,只要有人想戳破,随手的事,尤其对于他们这种身份的人。“我尊重嘟嘟的想法。”李汉,毕竟是从普通人一步步走过来,见到还不多,尤
寻找身高相近的小朋友
爱棋笑谦
2024年9月华为OD刷题集算法java华为od面试
题目描述:小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。输入描述:第一行为正整数H和N,0frinedHeights=newArrayList();for(inti=0;i{intdifferent1=Math.abs(h1-mingHeight);intdifferert2=Math.abs(h2-mingH
一篇文章让你搞懂Reflect和Reflect metadata(JavaScript)
小小西爪
Typescriptjavascript前端开发语言
一篇文章让你搞懂Reflect和Reflectmetadata(JavaScript)引言Javascript里经常看到Reflect的使用,但一直搞不明白他和Object的区别,加上在工作中也没有经常用到,一直处于懵懵懂懂的状态。所以下定决心,用这篇文章彻彻底底把它搞明白本文主要涵盖以下4个板块:Reflect什么是ReflectAPIs(Reflect与Object的区别)简单的例子:Obje
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
云中路灯
问题描述如何查看AppServiceJava堆栈JVM相关的参数默认配置值?问题解答可以通过AppService的高级管理工具(kudu:)来查看JVM的相关参数,使用命令:java-XX:+PrintFlagsInitial-versionimage鉴于以上输出的参数太多,可以通过命令把结果输出在txt文件中,如:java-XX:+PrintFlagsInitial-version>D:\hom
寻找最富裕的小家庭
爱棋笑谦
2024年9月华为OD刷题集算法java华为od面试
题目描述在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为一个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。输入描述第一行为一个数N,表示成员总数,成员编号1~N。1≤N≤1000第二行为N个空格分隔的数,表示编号1~N的成员的财富值。0≤财富值≤1000000接下来N-1行,每行两个空格分隔的整数(N1,N2),表示N1是N2的父节点
亲子日记(19/100)
无限妈妈
打卡日期:2019年2月2日90天打卡累计天数:9/90#宣言:和无限一起快乐成长#孩子第一个30天目标:早睡熄灯21:30家长第一个30天目标:每天读书半小时加油小宝(无限+5岁)践行打卡9/301.规律作息:早起8:00晚睡22:002.亲子阅读:加班一天,我回来没顾上给无限读书,晚上洗了屁屁就上床关灯睡觉了,听爸爸说,他刚回来的时候,奶奶在洗衣服,无限在自己安安静静的看书,看了很多本了。感恩
Sora文本生成影像模型背后的创新原理与挑战
noVonN
c语言深度学习算法区块链人工智能
引言随着人工智能技术的飞速发展,OpenAI作为行业领导者,在文本生成领域取得重大突破之后,近日又推出了其在影像生成领域的最新力作——Sora。这款模型将自然语言处理与计算机视觉技术相结合,旨在通过输入文本描述来快速创作出逼真的电影场景,为内容创作者提供了前所未有的艺术表达工具。然而,正如OpenAI所指出的那样,尽管Sora展现出了令人惊叹的创造力,但它在仿真复杂物理现象和理解具体事例因果关系方
2019-5-9周四
荷妍
从小学习,10年积累受益一生。这是今天一个年近70的老同事总结给我的话。退休返聘的她,写得一手好字,至今令人惊叹。尽管和她相处总是不那么和谐,但每个人总有闪光点,值得令人学习的地方。今天成功继续练字打卡。前几天操作习惯打卡软件续习惯打卡失败了,有些失落。虽然自己还在坚持,没有打卡的仪式,总觉得缺少点感觉。一开始想通过打卡让自己开始工笔画练习,结果失败了。铺开画纸,需要占地,而练字基本是随时随地都可
春天很美,你亦很美
字芸卿
图文‖芸卿折一朵未凉的花,让心事安静的在烟雨里漂浮,清扬成一池天青色的水韵。也许,所有繁华的尽头,皆是荒芜的途径,我依然要感恩这一程的寂静廖远,淡淡即是恰好。总还是信了时间,信了那些未曾说出口的懂得。那么,剩下的日子,任凭风雨雕琢,任凭命运安排,始终与你隔花初见,互道静安。其实,最好的时光,莫过于遇见灵魂相近的人。于是,你的沉默他懂;她的无言你知,无需客套寒暄,只静静的一起看细水长流。当光与影退入
出现 xxx missing 1 required positional argument: ‘self‘ 解决方法
码农研究僧
BUGpythonbug
目录1.问题所示2.原理分析3.解决方法1.问题所示编译代码的时候,出现如下问题:E:\software\anaconda3\envs\py3.10\python.exeF:\python_project\test\main.pyTraceback(mostrecentcalllast):File"F:\python_project\test\main.py",line36,
Vue——v-model双向绑定数据原理及用法
樱丸小桃子啊
Vue前端vuevue.js
vue中双向绑定是一个指令v-model,所谓的双绑就是可以绑定一个响应式数据到视图,同时视图中变化能改变该值。v-model是语法糖,默认情况下相当于:value和@input。使用v-model可以减少大量繁琐的事件处理代码,提高开发效率。通常在表单项上使用v-model,还可以在自定义组件上使用,表示某个值的输入和输出控制。比如说我们在input上使用时,我们将xxx的值绑定到表单元素val
Enum 枚举
120153216
enum枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
Java8简明教程
bijian1013
javajdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
Oracle表维护 快速备份删除数据
cuisuqiang
oracle索引快速备份删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
java多态内存分析
麦田的设计者
java内存分析多态原理接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
spring拦截器的一个简单实例
bijian1013
javaspring拦截器Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
[Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
Netty学习笔记
bylijinnan
javanetty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
oracle 的性能优化
cuishikuan
oracleSQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
Shell变量和数组使用详解
daizj
linuxshell变量数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
[Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
js实现登录时记住用户名
hw1287789687
记住我记住密码cookie记住用户名记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
算法机试题
李亚飞
java算法机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
hibernate调用返回游标的存储过程
Supanccy2013
javaDAOoracleHibernatejdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p