- 第一章:Reac入门 与 第二章:React面向组件编程
代码界小菜鸟
reactreact
目录一、jsx语法规则二、React中定义组件1.函数式组件:2.类式组件:*有关类复习的知识点前往React知识铺垫查看https://blog.csdn.net/m0_61927991/article/details/126591057?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22r
- python3基础-17 内建函数
doker_p
python基础
内置函数abs()dict()help()min()setattr()all()dir()hex()next()slice()any()divmod()id()object()sorted()ascii()enumerate()input()oct()staticmethod()bin()eval()int()open()str()bool()exec()isinstance()ord()sum(
- python all 函数_Python all()函数
cunchi4221
列表pythonjavascriptjava编程语言ViewUI
pythonall函数Pythonall()functionisoneofthebuilt-infunctions.IttakesiterableasanargumentandreturnsTrueifallelementsoftheiterablearetrueorit’sempty.Pythonall()函数是内置函数之一。它以iterable作为参数,如果iterable的所有元素均为tru
- java 高级工程师面试题集锦,持续更新~
aifans_bert
java学习java开发语言后端
找大厂面试题,看套路!Java面试题及答案及面试解析说到找工作,你认为现在最重要的事情是什么?当然找大厂面试题,看套路!以下面试题就是小编为大家准备的,希望对大家有用!1.面向对象的特征请阅读严宏博士的Java模式或设计模式解释中的桥梁模式)。封装:一般认为封装是将数据和操作数据的方法绑定起来,数据的访问只能通过定义。吐血总结!50道Python面试题集锦(附答案)这些面试题涉及Python基础知
- 2021 React面试题知识点很全面
尘之微识
react.js面试
一,什么是虚拟DOM?虚拟DOM(VDOM)它是真实DOM的内存表示,一种编程概念,一种模式。它会和真实的DOM同步,比如通过ReactDOM这种库,这个同步的过程叫做调和(reconcilation)。虚拟DOM更多是一种模式,不是一种特定的技术。二,类组件和函数组件之间有什么区别?类组件(Classcomponents)无论是使用函数或是类来声明一个组件,它决不能修改它自己的props。所有R
- solidity高阶 -- 继承
第十六年盛夏.
智能合约Solidity区块链智能合约
Solidity是一种面向区块链的智能合约编程语言,广泛应用于以太坊等区块链平台。继承是Solidity中一个非常重要的特性,它允许开发者通过创建子合约来扩展父合约的功能,从而实现代码的复用和层次化设计。本文将通过具体实例详细介绍Solidity语言中的继承机制。注意:使用继承时请确保代码的正确性,以防丢失个人财产,在这里友情提示您,不要复制来源不明的solidity代码并进行部署。本文为自己梳理
- 【Spring】Spring概述
边城仔
Springspringjava
目录前言一、Spring简介二、Spring八大模块三、Spring特点总结前言在现代软件开发中,选择合适的框架和技术栈对于项目的成功至关重要。Spring框架作为Java生态系统中最受欢迎的框架之一,因其灵活性、模块化设计以及对多种编程范式的支持而被广泛采用。无论是构建小型应用还是大型企业级系统,Spring都能提供强大的功能和工具来简化开发过程,提高代码质量和可维护性。本文将介绍Spring框
- python谷歌浏览器dino游戏,完整开源代码
terryzhang404
pythonchromepygame游戏pycharm
观前提示:本文选自作者个人博客,为获得更好观感,请访问博主博客得到更好体验)说到googlechrome,很多人都会想到它标志性的断网小游戏——chromedino,今日,我们利用python还原并将代码开源,欢迎随时取用。话不多说,直接进入正题实现效果第一部分:配置环境编译器:pycharm社区版2024.1插件:pygame导入所用库,没有的可以去下载,具体方法不多赘述,网上有importpy
- 2024年Python最全用Python制作一个自动抢票脚本_python抢票脚本,Python面试项目全代码
Android失眠夜
程序员python学习面试
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!classConcert:def__init__(
- AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言
北京动点飞扬软件
AI外包
1.定义目标与需求首先,要明确你希望AI智能体做什么。是自动化任务、数据分析、自然语言处理,还是其他功能?明确目标可以帮助你选择合适的技术和方法。2.选择开发平台与工具开发AI智能体的软件时,你需要选择适合的编程语言、框架和工具。例如:编程语言:Python是最常用的语言,因为它有强大的AI/ML库,如TensorFlow、PyTorch、scikit-learn等。开发平台:你可以使用本地环境、
- 【python】all()函数介绍
叶阿猪
pythonpython开发语言
一、说明Python中的all()函数是一个内置函数,用于判断一个可迭代对象(如列表、元组、字符串等)中的所有元素是否都为True(或者更准确地说,是否都等价于True)。二、基本语法all(iterable)iterable:一个可迭代对象。返回值:返回True或者返回False三、工作原理如果可迭代对象为空(例如空列表、空元组或空字符串),则all()返回True。否则,all()会迭代可迭代
- Python & NumPy & Matplotlib 版本依赖
小猪快跑爱摄影
Pythonpythonnumpymatplotlib
文章目录相关文献依赖项版本列表相关文献官网版本依赖链接依赖项版本列表以下列表显示了Python和NumPy依赖项的最低版本对于不同版本的Matplotlib。点击链接获取完整内容依赖项的规范。MatplotlibPythonNumPy3.93.91.23.03.83.91.21.03.73.81.20.03.63.81.19.03.53.71.17.03.43.71.16.03.33.61.15.
- -bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory
GeoWin_CAU
GeoPythonSpatialBigData(空间大数据)pythonlinuxwindows
在windows系统下写的python脚本,在linux下赋予权限chmod+xxxx.py以后,执行./xxx.py运行提示:bash:/usr/bin/autocrorder:/usr/bin/python^M:badinterpreter:Nosuchfileordirectory更多文章请点击我
- 批量复制--python代码
爱理科的小王子
python开发语言
importos#定义文件夹路径xml_folder='path/to/xml_folder'jpg_folder='path/to/jpg_folder'#获取文件夹中的文件列表xml_files=sorted(os.listdir(xml_folder))jpg_files=sorted(os.listdir(jpg_folder))#检查文件数量是否一致iflen(xml_files)!=l
- json.loads和json.dumps有什么区别,什么时候用json.loads,什么时候用json.dumps?
兰若姐姐
自动化AI大模型jsonpython
发现很多小伙伴对json.loads()和json.dumps()傻傻分不清,不知道什么时候应该用json.loads(),什么时候用json.dumps(),这里简单给大家分享一下json.loads()和json.dumps()是Python标准库json模块中的两个重要函数,它们之间有以下区别:功能:json.loads():将JSON格式的字符串转换为Python对象(通常是dict或li
- NumPy与Matplotlib库
我是一名好学者
Python
NumPy1.1导入NumPy库importnumpyasnpPython中使用import导入库,这里的意思是将numpy作为np导入。通过这样的形式,之后NumPy相关的方法均可通过np调用。1.2生成NumPy数组importnumpyasnpx=np.array([1.0,2.0,3.0])print(x)print(type(x))输出结果:[1.2.3.]使用np.array()方法接
- ModuleNotFoundError: No module named ‘pywin32_bootstrap‘解决方案
爱编程的喵喵
Python基础课程pythonModuleNotFoundwin32_bootstap解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。 本文主要介绍了ModuleNotFoundErro
- 解决python “No module named pip”
weixin_34218579
python
python升级后导致不能使用原来的pip命令windows平台cmd中敲命令:python-mensurepip得到pip的setuptools然后就可以用:easy_installpip下载相应版本的pip,最后就可以愉快的用pip命令了!转载于:https://www.cnblogs.com/junglefish/p/6265101.html
- python中的数组与列表,python中的数组和列表
程新皓
python中的数组与列表
#环境win64+anaconda+python3.6list&array(1)list不具有array的全部属性(如维度、转置等)代码1:#eg1_1importnumpyasnpa=np.array([[1,2,0,1],[1,6,9,55],[7,8,9,5]])#a为数组print(a.T)#Result:[[117][268][099][1555]]#eg1_2a=[[1,2,0,1],
- SQLAlchemy 反向生成 model 模型
weixin_30693183
数据库开发工具python
前言Django反向生成的model模型的命令:pythonmanager.pyinspectdbSQLAlchemy/Flask-SQLAlchemy则是:pip3installsqlacodegen使用方法如下利用sqlacodegen自动生成ORM实体类..\Anaconda3\envs\py3\Scripts>.\sqlacodegen.exe--outfileproject_path\m
- bash: /home/xxx/anaconda3/bin/conda: No such file or directory
鲤鱼不懂
bugbashconda开发语言
一背景最近把conda移动后,出现了一堆bug,目前pip不能使用,在此记录一下解决方案。二报错信息bash:/home/xxx/anaconda3/envs/yolov10/bin/pip3/home/xxx/.conda/envs/yolov10/bin/python:badinterpreter:NosuchfileordirectoryNosuchfileordirectory错误说明是p
- sqlalchemy动态生成model模型
killersdz
python数据库
因业务需要从不同时期的sqlite数据库中取数据,不同时期的数据库字段是不同的,但是以往用sqlalchemy管理数据库时的model是写死的,就会导致有些字段错误而报错,这时我们就要根据版本动态生成model众所周知python里的type()函数是可以查看一个实例的class类型,但其实type()也可以用来创建一个class类,我们可以利用这一点动态创建model,下面放出例子#model.
- python从文件外部调用参数
just_easy
pythonpythonimportlist测试
python从文件外部调用参数#!/usr/bin/python#FileName:GetArgvOutside.pyif__name__=="__main__":importsysiflen(sys.argv)==1:print"needargv"else:printsys.argvforiinsys.argv:printi测试E:\>pythonGetArgvOutside.pyarg1arg
- python 执行时 命令行传入参数
托马斯-木
pythonpythonlinux
例如要执行test文件,想要将aaa和123传入test作为一个变量传入执行pythontest.pyaaa123方法1使用argparseimportargparseif__name__=="__main__":parser=argparse.ArgumentParser()parser.add_argument('--aa',type=str,default=None)parser.add_a
- 概念一: python 中列表 ,数组, 集合,字典;
ZhengXinTang
#python数据结构pythonlist
1.python基本数据类型首先python3中自带的有六个标准的数据结构类型:Number(数字)String(字符串)Tuple(元组)List(列表)Set(集合)Dictionary(字典)不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)。2.数据类型各自的特点2.1数组与
- 【附源码】基于flask框架奶茶连锁管理系统 (python+mysql+论文)
JAVA程序设计
pythonflaskmysql
本系统(程序+源码)带文档lw万字以上文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:
- 命令行运行Python脚本时传入参数--3种方法
浩瀚之水_csdn
#Python学习pythonlinux开发语言
方法1.在命令行运行Python脚本时,传入参数,并根据参数做相应动作。先来一个简单的---把命令行输入的参数打印出来。Step1:在linux中,建立名字为t1.py的python脚本。t1.py里面内容如下:importargparseif__name__=="__main__": parser=argparse.ArgumentParser() parser.add_argument('--
- Python json.load() 和 json.loads()及json.dump()和json.dumps()的区别
知识的宝藏
pythonjson编辑器
json.load()和json.loads()json.load()和json.loads()都是Python中用于处理JSON数据的函数,它们之间的主要区别在于它们从何处读取JSON数据。json.load():这个函数用于从文件对象(例如,通过open()函数打开的文件)中读取JSON数据,并将其解析为Python对象。它通常用于从文件中读取JSON数据。例如:importjsonwitho
- python传入命令行参数
Mett_Smith
后端读书笔记
1.pycharm要想快速调出命令行参数设置面板,快捷键为alt+shift+F10,之后按下0即可2.pycharm输入的命令行参数默认为字符型变量(默认设置可能随编辑器变化而变化),例如:a=sys.argv[1]b=sys.argv[2]在参数变量中输入5和6,等同于:a='5'b='6'3.究其原因,是由于python语言本身的限制,导致变量没有固定的类型,IDE不能自动识别参数类型所致,
- python-leetcode-合并两个有序链表
Joyner2018
leetcode链表算法
21.合并两个有序链表-力扣(LeetCode)#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defmergeTwoLists(self,list1:Optional[ListNode],list2
- 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