- Python图形界面 Tkinter入门13
mango大侠
Pythonpython开发语言tkinter
13.1多输入框fromtkinterimport*root=Tk()root.title('主窗口')root.geometry('800x400')#遍历输入框内容到列表my_entries=[]my_entries=[]defsomething():entry_list=''forentriesinmy_entries:entry_list=entry_list+str(entries.ge
- vue字符串的常用方法,截取字符串,获取字符串长度,检索字符串
luckyext
vue.jsjavascript前端
1.使用substr方法截取字符串letstr="12345";letpart=str.substr(0,3);//截取从索引0开始到索引3的子字符串console.log(part);//"123"2.获取字符串长度JavaScript中的字符串有一个length属性,该属性可以用在VUE获取字符串的长度conststr='hello';str.length输出结果:53.检索字符串是否包含特定
- 自动化办公|xlwings快速入门
游客520
实用代码自动化python从入门到出家python前端linux
1.创建和打开Excel工作簿使用xlwings.Book创建新的Excel工作簿或打开已有的Excel文件。创建新工作簿importxlwingsasxw#创建一个新的Excel工作簿wb=xw.Book()#获取当前活动的工作表sheet=wb.sheets.activesheet.range("A1").value="Hello,xlwings!"打开已有工作簿wb=xw.Book("exa
- Python学习心得字符串的去重操作
lifegoesonwjl
python开发语言pycharm
一个字符串中可能包含许多相同的元素,为了保证字符串中的唯一性,下面介绍的是字符串的去重操作:第一种方式:利用for+if的结构进行去重这个程序是对字符串中的每个元素进行判断,如果不在新建的空字符串中就把该元素添加进来,否则就直接忽略过去。s='helloworldhelloworldhelloworld'new_s=''foritemins:ifitemnotinnew_s:new_s+=item
- python编译成dll_如何用 C++ 为 Python 写 dll
刘大1984
python编译成dll
1.先新建一个名为hello.cpp的C++源文件:#include#defineDLLEXPORTextern"C"__declspec(dllexport)DLLEXPORTint__stdcallhello(){printf("Helloworld!\n");return0;}2.编译成dll文件:cl/LDhello.cpp注意,这里的参数是/LD,而不是/DL。3.编写一个名为hello
- Python图形界面 Tkinter入门6 数据库sqlite3
mango大侠
Pythonpython数据库sqlite3tkinter
6.1数据库sqlite3基础fromtkinterimport*importsqlite3importosroot=Tk()root.title('数据库sqlite3操作')root.geometry('400x400')#sqlite3-------------------------------------------------##检查数据库文件是否存在,不存在就创建,user表:ifn
- Java学习笔记
范梦迪
java笔记
第一章Java基础1.HelloWorld程序publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");}}2.数据类型Java提供了多种数据类型,包括基本数据类型和引用数据类型。基本数据类型用于存储简单的数据值,而引用数据类型用于存储对象的引用。2.1基本数据类型Java
- 几个字符串操作函数(深析)
阅月跃悦
c语言c++算法
1、mystrupr--将小写字母转换为大写(my-string-up)#includevoidmystrupr(char*str){while(*str){if(*str>='a'&&*str='a'&&*strintmystrlen(char*str){intlen=0;while(*str++){len++;}returnlen;}intmain(){charstr[]="HelloWorl
- Java Swing-2.环境搭建及窗口背景
crime_lamb
javaswingjava开发语言
环境搭建及设置窗口背景环境搭建jdk:1.8Maven:3.2.5开发一个小型的桌面程序,可直接创建一个基础的Maven项目,我的场景中不使用Spring所以并没有使用Springboot框架下面是我的pom.xml4.0.0org.exampleSwing-Test1.0-SNAPSHOTArchetype-Swing-Testhttp://maven.apache.orgcom.formdev
- C语言【基础篇】之简单语法——构建程序大厦的基石解析
EnigmaCoder
cc语言开发语言
简单语法前言第一个程序分析✍️注释常量与变量强制类型转换️标识符与关键字scanf与printf介绍⚙️转义字符总结前言大家好!我是EnigmaCoder。本文收录于我的专栏C,希望能帮助到您!前文我们讲解了该如何搭建环境。链接:C语言【基础篇】之搭建环境——从新手到实战的必备前奏本文我们介绍一下C语言最基础的一些知识,为构建程序大厦打好基石。第一个程序分析HelloWorld程序分析#inclu
- 通过例子学 rust 个人精简版 1-1
独好紫罗兰
通过例子学rustrust开发语言
1-1HelloWorldfnmain(){println!("HelloWorld!");//动手试一试println!("I'maRustacean!");}HelloWorld!I'maRustacean!要点1:println自带换行符注释fnmain(){letx=5+/*90+*/5;println!("Is`x`10or100?x={}",x);}要点2:行注释//与块注释/**/要
- Python和Python3的区别看这篇就够了
小尤笔记
python开发语言爬虫数据库
Python和Python3(通常指Python2)之间的区别在代码层面主要体现在语法、字符串处理、整数除法、异常处理以及库和框架的兼容性等方面。以下是对这些区别的详细讲解:CSDN大礼包:《2025年最新全套学习资料包》免费分享一、语法差异Print语句与函数Python2:print是一个语句,不需要括号。例如,print"Hello,World!"。Python3:print成为了一个函数
- 【20天快速掌握Python】day06-元组、字典、集合
菜鸟进阶站
编程Python后端开发pythonjava开发语言
1.元组的使用Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。 >>>aTuple=('et',77,99.9) >>>aTuple ('et',77,99.9)1.1访问元组 tuple=('hello',100,3.14) print(tuple[0]) """ 输出结果: hello """1.2修改元组 tuple=('hello',100,3
- const成员函数及错误提示error C2511: 'void Tack::Set_Data(void) const' : overloaded member function not found
喜欢做我自己
C++const成员函数C++
对于成员函数Set_Data()来说,其无法保证调用对象不被修改,如果要像const一样不被修改,可以使用一种新的语法来保证函数不会修改调用对象。在C++语法中,可以将const关键字放到函数的括号后面。//函数声明处classTack{private:std::stringm_hello;longm_shares;intm_num;doublem_value;public:Tack();void
- C语言--指针(三)
weixin_51790712
c语言开发语言
预处理#includehello.cgcchello.c//编译预处理(预编译)汇编(汇编语言)---助记符编程:人类语言--->编程语言(C语言)---汇编语言--->机器语言(01010)八位的单片机01010101//加法//0101010116位32位01010101010101010101010101010101//add64位main(){inta=1;intb=2;printf("h
- C语言中字符型一维数组
weixin_51790712
c语言算法数据结构
1.一维数组的定义方式为:类型说明符数组名[常量表达式];charch[10];//字符型的一维数组//表示可以存储10个char类型的数据2.字符串:希望可以处理字符串数据(1).字符串--按照一维字符型数组的方式存储的(2).charch[10]={'h','e','l','l','o'};//字符型数组"hello"//字符数组的形式存储的(3).字符串都有一个结束标志(4).字符串是一个特
- (二)用控制器controller给模型数据赋初始值
diandingyin9417
javascriptViewUI
之前博客,非常easy的就实现了模型数据和页面显示的自己主动绑定。如今我们使用控制器,给模型赋初始值。假设使用jquery来实现变量赋初值,须要在页面载入完毕后运行$("#target").attr("value",selfValue);使用AngularJS代码例如以下:Hello,World!functionWholeController($scope){$scope.yourName="at
- python_文件处理与re正则
weixin_101
pythonLinux笔记pythonlinux运维运维开发
#############################################################################################python文件处理文件分类:文本文件,二进制文件字节串类型:一段数据的二进制内容字符串与字节串相互转化方法:(1)普通的英文字符串常量可以在前面加b转换为字节串,例如:b"hello"(2)变量或者包含非英文字符
- jsp页面跳转失败
Yolowuwu
Javajava开发语言jsp
今天解决一下jsp页面跳转失败的问题在JavaWeb的学习过程中,编写了这样一段代码:HelloWorld!用户名:密码:运行得到这个界面:提交之后显示404经过查找发现如果跳转失败证明jsp页面还不支持el表达式可以在jsp文件最上面加上:达到预期效果,问题解决!
- 【Unity3D小功能】Unity3D中有限状态机的简单实现
恬静的小魔龙
#Unity3D之实用功能及技巧游戏设计模式有限状态机unity
推荐阅读CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言Hello,大家好,我是☆恬静的小魔龙☆,正所谓学而不思则罔,思而不学则殆,最近项目开发中,人物的动作特别多,用状态机去切换感觉太麻烦,然后切换的效果也并不理想。比如下面的状态机:
- protobuf
fly1ng_duck
Cartographer
这是谷歌一个开源的交换与存储数据的轮子https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html绝对域名1.proto文件需要编译2.编译后生成头文件和实现文件cc头文件生成了对应的消息类cc负责3.可以利用生成的消息累进行读写,需要编写读写类(当我们需要将该结构化数据保存到磁盘上时,类lm::helloworld已经提供相应的方
- React中定义和使用函数式组件
开发小途
react.js前端
在React中,函数式组件是一种通过普通JavaScript函数定义的组件。它们接收props作为参数,并返回React元素。从React16.8开始,函数式组件还可以利用Hooks来增加状态和其他React特性。1.简单的函数式组件importReactfrom'react';constHelloWorld=(props)=>{return(Hello,{props.name}!);};expo
- Python基础(上)
索然无味io
Python安全开发python开发语言网络windowsweb安全安全网络安全
1.基础语法1.1环境安装Python版本:推荐使用Python3.6.6及以上开发工具:PyCharm1.2基本语法输出:print("HelloWorld")注释:单行注释:#注释内容(快捷键Ctrl+/)多行注释:使用三引号'''注释内容'''注意:不推荐作为正式注释。1.3变量命名规范规则:由字母、数字、下划线组成,不能以数字开头不能使用Python关键字(如if,for)区分大小写命名风
- 常用数据格式:json、bson、msgpack
ChiLi_Lin
json
JSON(JavaScriptObjectNotation)常用文件格式,可读性高一般用于远端配置,客户端基础配置等。BSON(BinaryJSON)二进制的Json,一般用于服务器MongoDB存储。类型定义:https://bsonspec.org/spec.html{"hello":"world"}→\x16\x00\x00\x00//totaldocumentsize\x02//0x02=
- Flask Web开发的重要概念和示例
魔尔助理顾问
PythonFlaskWeb开发案例python后端flaskpycharm
一口气列举FlaskWeb应用的所有概念和示例FlaskWeb应用基本框架路由(Routing)模版(Template)request对象JSON数据处理redirect示例文件上传示例文件下载示例Session示例Cookie操作FlaskWeb应用基本框架这是一个最基础的FlaskWeb应用,它包含:1.主页(/)→返回“Hello,Flask!”2.动态路由(/hello/)→通过URL传递
- Vue.js框架深度解析:构建现代Web应用
Neovyij
前端vue.jsjavascript
1.Vue.js概览1.1Vue.js的诞生和哲学Vue.js由尤雨溪创立,旨在创建一个简单而高效的前端库,使得前端开发更加轻松。尤雨溪在开发Vue.js时,将注意力集中在视图层,旨在帮助开发者通过简洁的API设计快速构建交互丰富的网页应用。代码示例:创建一个基本的Vue实例varapp=newVue({el:'#app',data:{message:'HelloVue!'}});这段代码简单地展
- python Web 开发 Flask 介绍_python flask web开发
2401_86391875
python前端flask
打开终端,跳转到`hello.py`文件所在的文件夹,进入python命令行模式,启动服务pythonhello.py如果一起正常的话会有类似下面的反馈ServingFlaskapp“hello”(lazyloading)>>因为是通过`app.run()`启动的服务,所以会有个错误提示,提醒不能将此Web应用部署在生产环境中,可以暂时忽略>>>此时,打开浏览器,输入127.0.0.1:5000/
- Django学习笔记(第二天:render函数渲染网页模板,使用网页模板输出数据,实现前端页面与数据分离)
S1901
Djangopythondjango学习笔记
Django模板在HelloWorld目录底下创建templates目录并新建runoob.html文件,整个目录结构如下:HelloWorld/|--HelloWorld||--__init__.py||--__init__.pyc||--settings.py||--settings.pyc||--urls.py||--urls.pyc||--views.py||--views.pyc||--
- 2D游戏引擎Allegro 系列教程(二) Hello world!
小泰勒
2D游戏引擎Allegro2D游戏引擎Allegro教程Allegro教程游戏引擎
本系列文章由sky编写,转载请注明出处。http://blog.csdn.net/qq573011406/article/details/8172949作者:袁全伟邮箱:
[email protected]欢迎邮件交流编程心得本系列教程索引:2D游戏引擎Allegro系列教程(一)配置allegro开发环境2D游戏引擎Allegro系列教程(二)Helloworld!2D游戏引擎Allegro系
- Hello Robot 推出Stretch 3移动操作机器人,赋能研究与商业应用
欣佰特cnbestec
机器人人工智能
HelloRobot公司近日发布了其新一代开源移动操作机器人Stretch3,这是一款高度灵活的机器人平台,专为机器人研究、教育实验和商业自动化设计。Stretch3结合了先进的移动机器人技术、灵巧操作能力和开源软件生态系统,为用户提供了一个功能强大且易于定制的智能机器人解决方案。Stretch3有多项更新,包括快速更换式手腕、安装在手腕上的摄像头以及强化的材料。Stretch3移动操作机器人主要
- 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