- FloEFD 工程师使用灵活,企业如何科学管控许可证资源?
随着制造企业对设计仿真一体化需求的增长,FloEFD作为SiemensDigitalIndustriesSoftware提供的CAD嵌入式计算流体动力学(CFD)工具,凭借与SolidWorks、Creo、NX、CATIA等主流CAD平台深度集成,广泛应用于电子散热、汽车、能源装备、流体机械等行业。FloEFD的优势在于其“工程师友好型”理念,使设计工程师可以直接在CAD环境中完成几何建模、网格生
- Qt 5.15.x + VS的源码编译
黃建榮
QtAboutqtc++
环境依赖MVSC,Python,Ruby,Perl需要安装的一些工具第一次编译configure的相关命令configure.bat-prefixE:\qt\qt5\install\-opensource-confirm-license\-qt-sqlite-qt-pcre-qt-zlib\-qt-libpng-qt-libjpeg-qt-freetype-qt-harfbuzz\-skipqtw
- 用 automake 来构建项目
守拙圆
author:守拙圆一般而言,对于小项目通常自己来编写Makefile即可。但对于大型项目,手动编写维护大型项目,编写makefile将是一项费力费时的工作。1工具介绍gnu提供了一套autotools工具来辅助用户来生成makefile,完成编译工作。此工具集包括:autoscan:此命令能够对于一个软件包或目录创建或者维护一个configure.ac文件。aclocal:此命令将configu
- ubuntu之坑(十四)——安装FFmpeg进行本地视频推流(在海思平台上运行)
光电的一只菜鸡
linux虚拟机ubuntuffmpeg音视频
1.编译x264(没有x264依赖项参考,有则跳过) 参考blog:ubuntu22.04下编译ffmpeg-6.0,并且激活x264编码功能。记录一下踩坑(ERROR:x264notfoundusingpkg-config)需要注意:sudo./configure--enable-static--prefix=/usr/local/x264 在执行上面命令时可能遇到下面问题,这是在Linux
- 删除我的电脑中“C盘瘦身专家”图标(流氓软件)
用联想电脑管家强制先卸载掉该软件,然后以管理员身份打开注册表(regedit)跳转到注册路径:计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer找到包含“C盘瘦身专家”得注册表项,然后直接删除,刷新桌面浏览器,就可以看到图标被删除了,国内做好软件不行,搞流氓软件倒是有一绝,正常从市场
- 机器视觉Halcon
介绍Halcon是由德国MVTecSoftwareGmbH公司开发的一款机器视觉软件,广泛应用于工业检测、医学成像、机器人引导、三维视觉等领域。它提供强大的图像处理和分析功能,支持快速开发高效的机器视觉应用。_____________________________________________________________________________Halcon主要特点1.强大的图像处理
- Groupdocs.Viewer for .NET 25.6
sdk大全
AsposeTotalfor.NETGroupdocs
Groupdocs.Viewerfor.NETisaverybasicyetpotenttoolthatallowsdeveloperstorenderdocumentsandenabletheirapplicationstoviewitintheirapplicationswithoutusinganyotherthird-partysoftware,suchasMicrosoftOfficeo
- 虚拟机VMware 安装centos、常规配置、共享文件等
一乐乐
安装centos7【通过vm来安装运行centos7】一、准备工作1、centos7的安装镜像下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/2、vmware-workstation的安装包下载链接:https://softwareupdate.vmware.com/cds/vmw-desktop/ws/本文选择的centos7版本是
- win配置gradle
彦楠
windowsjavajavagradlewindows
1,下载gradle-7.5.1下载链接:gradle-7.5.12,解压gradle-7.5.1,配置环境变量,新建GRADLE_HOME环境变量指向你的Gradle解压路径例如G:\Software\gradle-7.5.13,将%GRADLE_HOME%\bin添加到Path环境变量中4,验证gradle是否安装成功,打开cmd命令行输入gradle-vC:\Users\Administra
- Standard_Mutex 类详解
心瞳几何原语
学习OCCTOCCTQt
//Createdon:2005-04-10//Createdby:AndreyBETENEV//Copyright(c)2005-2014OPENCASCADESAS////ThisfileispartofOpenCASCADETechnologysoftwarelibrary.////Thislibraryisfreesoftware;youcanredistributeitand/ormod
- Elasticsearch-ik分析器
mykyle
elasticsearchjenkins大数据
CLI安装步骤1、停止Elasticsearch(如果正在运行):在安装插件之前,确保Elasticsearch没有在运行。命令:systemctlstopelasticsearch2、安装插件:使用elasticsearch-plugin命令安装IK插件。进入到你的es的安装目录:如/usr/local/software/elasticsearch[root@localhostelasticse
- Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings
FirebaseCrashlytics提示mapping上传超时FirebaseuploadCrashlyticsMappingFileRelease解决方案核心就是禁用掉uploadCrashlyticsMappingFileRelease这个任务最外层build.gradle中添加firebaseCrashlytics{//false为不上传,编译时也不会有对应的任务,//这里可以根据实际需求
- 软考 系统架构设计师系列知识点之杂项集萃(115)
蓝天居士
系统架构设计师系统架构
接前一篇文章:软考系统架构设计师系列知识点之杂项集萃(114)第211题特定领域软件架构(DomainSpecificSoftwareArchitecture,DSSA)是一个在特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构。参加DSSA的人员可以划分为多种角色,其中()的任务是控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中;()的任务是根据领域模型和现有系统开发出
- QT中CMake配置QQuick、QML
求未忆
qt开发语言c++vscode
QT中CMake配置QQuick、QML环境配置vscodeQTCMakeDemo环境配置vscode+QT5.8.0-MSVC2013+MSVC2013vscodeCMake插件CPP插件QTConfigure插件QTTools插件QML插件(在vscode中的开发体验不是很好,没有代码补全功能,还是需要在QTCreator中进行qml的开发)QT在自己的电脑上试验过MSVC2017+对应的QT
- 嵌入式项目开源网站有哪些?
嵌入式开发星球
单片机项目实战操作之优秀单片机linux运维服务器stm32
大家好,今天主要给大家分享一下,如何使用国内外的开源网站,找到对应的开源项目。第一:嘉立创开源广场"OSHWHUB"是开放源硬件(OrganicSoftwareHardware)社区平台,旨在推广开源硬件和共享设计。该网站向用户提供了一个集成的平台,用于共享硬件设计、技术交流和扩展开源硬件社区。用户可以在该网站上浏览、下载和分享开源硬件项目,并与其他开源硬件爱好者进行交流和合作。链接:立创开源硬件
- 世博轮腿机器人Software
wl_pro_robot.ino这个代码是一个完整的机器人控制程序,涉及到多个硬件模块的控制和通信,包括电机、传感器、舵机、PID控制器、滤波器、Web服务器等。下面简要解释一些关键部分:电机与驱动控制:代码定义了两个电机(motor1和motor2)及其驱动器(driver1和driver2),并通过FOC(Field-OrientedControl)技术来进行电机控制。PID控制器:通过PID
- conda 删除指定环境
张飞的技术博客
pythonconda
创建环境,并指定python版本condacreate--nameenvnamepython=3.10查看当前环境condainfo-e删除带环境名的环境condaremoveenv(环境名称)删除只有目录的环境condaenvremove-pD:\SoftWare\miniconda3\demoenv
- 如何编写假设和约束---SRS软件需求规格指南系列
reddishz
需求分析需求分析软件工程
文章内容涵盖如下的术语:软件需求规范(SoftwareRequirementsSpecification,SRS),假设(Assumptions),约束(Constraints),技术假设(TechnicalAssumptions),操作假设(OperationalAssumptions),商业假设(BusinessAssumptions),技术限制(TechnologicalConstraint
- suse linux 11 安装教程,IMA 在SUSE Linux 11下的安装及使用
葱油拌面没吃过
suselinux11安装教程
IMA的安装主要的操作是对2.6.30以上版本的内核配置,具体操作如下:一、系统环境一台带有TPM芯片的主机(Lenovo8800)SUSELinux11.2(内核版本:2.6.31.5)Trousers-0.3.6(可选)二、内核配置在/usr/src/linux目录下:1.#makeclean&&makemrproper(若以前编译过内核,则运行这步)2.#cp/boot/configure-
- windows show failed无法启动你的相机
有时我们在不知道什么情况下电脑便会变成这个样子,当我们以为是驱动问题的时候,或许我们可以使用下面的办法解决这个问题首先用驱动精灵或者驱动人生修复系统驱动,然后按照下面步骤操作方法:1.WIN键+R打开命令端,输入regedit运行2.进入计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsMediaFoundation\Platform\3.新建DWO
- 临时修复:Windows 10 Insiders 15042上的Logitech BRIO相机损坏
cunfuteng7334
httpjavawebgljsonwindows
IjustupdatedmyWindows10toInsidersFastBuild15042,andsuddenlymygloriousnewLogitechBRIO4kwebcamdoesn'twork!Well,it'sallbetasoftware,butitturnsouttheissueiswithsomethingintheLogitechINFfilesfortheirdriver
- PyTorch Lightning(PL)通过约定的生命周期方法自动管理训练流程。
小香猪6688
pytorch人工智能python
一、PyTorchLightning的“隐形流程”PL是一个基于PyTorch的轻量级训练框架,它通过约定优于配置的原则,定义了一系列生命周期钩子方法(如training_step、validation_step、configure_optimizers等)。当你调用trainer.fit(model)时,PL会自动按顺序调用这些方法,形成一个“隐形的主流程”。关键生命周期方法(按调用顺序):初始
- .net core session 存储到redis缓存数据库
1.Startup.cs文件ConfigureServices方法加入以下代码#region使用Redis保存SessionvarredisConn=Configuration["WebConfig:Redis:Connection"];varredisInstanceName=Configuration["WebConfig:Redis:InstanceName"];//Session过期时长分
- Google Chrome 谷歌浏览器全部版本集合
邓草
chrome前端谷歌浏览器
GoogleChrome谷歌浏览器全部版本集合CollectionofallsoftwareversionsofGoogleChrome.项目介绍本项目为GoogleChrome谷歌浏览器的全部版本集合,方便大家下载旧版本使用。因为Gitee项目限制仓库1G大小,所以许多谷歌浏览器版本无法上传。想下载全部的谷歌浏览器版本,请移步Github:https://github.com/dengcao/c
- LOCK指令前缀
Zeppelin421
在Intel®64andIA-32ArchitecturesSoftwareDeveloper'sManual中的章节LOCK-AssertLOCK$SignalPrefix中给出LOCK指令的详细解释LOCK是一个指令前缀,也就是说LOCK会使紧跟在其后面的指令变成原子指令(atomicinstruction)。LOCK指令前缀只能加在以下这些指令前面ADD,ADC,AND,BTC,BTR,BT
- 【Linux系列】rsync和mv
檀越@新空间
s5Linux学习linux服务器java
博客目录1.操作性质不同2.对源文件的影响3.使用场景4.示例对比使用`rsync-a`:使用`mv`:5.注意事项总结rsync-a/data/software/build0713/dist//usr/share/nginx/html/和mv是两种完全不同的操作,主要区别如下:1.操作性质不同rsync-a复制同步:将源目录(/data/software/build0713/dist/)的内容递
- 【软件测试】从软件测试到Bug评审:生命周期与管理技巧
卜及中
软件工程(测试)bug测试工具软件工程
文章目录一、软件测试的生命周期软件生命周期软件测试生命周期各阶段内容二、Bugbug的概念bug要素bug级别1.按严重程度(Severity)分类2.按优先级(Priority)分类示例冲突场景bug的生命周期三、测试时与开发人员意见不统一Bug是否描述清楚?站在用户角度重新思考问题Bug定级要有依据Bug评审一、软件测试的生命周期软件生命周期我们知道:软件生命周期(SoftwareDevelo
- DeBian arm64 FireflyRK3576安装中文输入法和中文语言系统
up牛牛
linuxubuntu运维
1.Debian配置中文环境在Debian上配置中文环境主要包括以下几个步骤:安装语言包:首先需要确保系统中已经安装了语言包。可以使用apt工具来安装:sudoaptupdatesudoaptinstalllocales2.配置locale:接下来需要配置系统的locale设置。运行以下命令打开locale的配置界面:sudodpkg-reconfigurelocales在出现的列表中选择zh_C
- Mybatis-Plus配置扫描mapper及分页插件
十碗饭吃不饱
Javamybatis
Mybatis-Plus配置扫描mapper及分页插件配置类使用配置类packagecom.xuecheng.content.config;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;importcom.ba
- MetaGPT源码剖析(一):MetaGPT框架下的多智能体协作项目——software_company.py
ATM006
开源Agent框架机器智能人工智能大模型源码剖析AgentMetaGPT
每一篇文章都短小精悍,不啰嗦。software_company.py这段代码是一个基于Typer构建的命令行工具,用于启动MetaGPT框架下的多智能体协作项目(比如生成软件项目、完成开发任务等)。它就像一个"项目启动器",允许用户通过命令行参数配置项目需求、资源投入等,进而调度不同角色的智能体(如产品经理、架构师、工程师等)协同工作。一、代码整体功能与定位从架构视角看,这段代码是MetaGPT框
- 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