监听器

jQuery绑定事件的四种方式

非 Y 不嫁゛ 提交于 2020-01-14 01:47:19
jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码。下面我们来看下jQuery中绑定事件的方式都有哪些。 jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。在开始看他们之前 一:bind(type,[data],function(eventObject)) bind是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下: type:事件类型,如click、change、mouseover等; data:传入监听函数的参数,通过event.data取到。可选; function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区别,使用时需要注意 bind的源码: ? 1 2 3 4 5 6 7 bind: function ( types, data, fn ) { return this .on( types, null , data, fn ); } $( '#myol li' ).bind( 'click' ,getHtml);

SpringBoot 新手入门 (三)

杀马特。学长 韩版系。学妹 提交于 2020-01-13 22:09:51
一、SpringApplication的几种常用方式 在之前的两篇SpringBoot 入门介绍中,都使用了在main方法中执行SpringApplication.run()这种方式来启动我们的工程 // 方式一 @SpringBootApplication public class Application { public static void main ( String [ ] args ) { SpringApplication . run ( Application . class , args ) ; } } 如果我们需要在SpringBoot启动过程中添加一些定制代码(如定制启动Banner,设置自定义监听器等),这种方式就无法满足我们的要求了,因此,官方文档提供了其他的启动方式来满足我们定制需求。在给出官方文档提供的启动方式之前,我们进入SpringApplication.run()方法简单看下底层做了些什么动作。 可以看到,SpringApplication.run()的底层其实就是new了一个SpringApplication的对象,并执行run()方法,run()方法里面执行了哪些动作在之后的文章中详细说明。接着我们来看官方文档提供的启动方式 // 方式二 public static void main ( String [ ] args ) {

SpringMvc Day01

江枫思渺然 提交于 2020-01-13 16:37:07
1. Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。 在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,在将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了。 1.2 Spring提供获取应用上下文的工具 上面的分析不用手动实现,Spring提供了一个监听器ContextLoaderListener就是对上述功能的封装,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中,提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。 所以我们需要做的只有两件事: ①在web

Spring-Spring与JavaWeb整合

瘦欲@ 提交于 2020-01-13 16:35:34
一.概述 Spring与JavaWeb整合时,Spring可以完成的任务有: 1)Spring来控制事务(dao-JdbcTemplate) 2)所有组件Autowried 3)管理数据库... 1.1 整合的步骤 1.导包 2.写配置 1)将所有组件加入到容器中,并能正确获取 @Controller:servlet层,目前不能标注在Servlet层(Tomcat启动时会创建Servlet,使用注解的话会创建新的Servlet) @Service :业务逻辑层 @Repository :dao层 @Component:其他组件 2)每个组件之间自动装配 3)配置声明式事务 事务管理器控制数据库连接池 4)IOC创建和销毁都要在合适的时机完成--使用监听器启动容器。 项目启动{ IOC创建完成 } 项目销毁{ IOC销毁 } 可以写一个监听器完成这个工作,Spring写好了这个监听器。这个监听器创建好的IOC容器在ContextLoader(这个属性就是IOC容器)。有一个静态方法能获取:getCurrentWebApplicationContext。 private WebApplicationContext context; 3.测试 二.整合实验 以之前的书城为例: 1.导包:导入Spring所需要的包 spring-aop-4.0.0.RELEASE.jar spring

springBoot项目中集成Servlet、Filter、Listener

六月ゝ 毕业季﹏ 提交于 2020-01-12 21:00:27
方法一: 集成Servlet,Filter,Listener可以直接通过Bean注解,ServletListenerRegistrationBean,FilterRegistrationBean,ServletRegistrationBean来注册的方式。 在web.xml中配置过滤器。这里要谨记一条原则:在web.xml中,监听器>过滤器>servlet。也就是说web.xml中监听器配置在过滤器之前,过滤器配置在servlet之前,否则会出错。 Servlet其实可以看作是一种特殊的java类。 实现代码如下: 创建servlet类并且继承HttpServlet类: public class MyServlet1 extends HttpServlet{ /** * 系列号 */ private static final long serialVersionUID = 3801244035838976832L; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("MyServlet doPost ...."); } @Override

关于Unity中3D声音的使用

限于喜欢 提交于 2020-01-11 02:32:40
3D声音 3D立体声和2D声不同的地方是它是会随着距离衰减的,距离越近声音越大,距离越远声音越小。 1: 声音: 背景音乐和音效; 2: 声音文件支持的格式: ogg, mp3, wave, AIFF;   ogg比较流行,很多安卓里面的声音使用ogg的格式是为了绕开mp3的版权   ogg和mp3都比较常用   wave和ogg、mp3比起来比较大,没有压缩的数字音乐,可以直接写到声卡里面 3:音频管理器: Edit-->ProjectSetting--> Audio;和物理引擎一样有管理器 Global Volume: 全局播放的音量; Volume Rolloff Scale: 衰减因子,越大,声音衰减越快; Doppler Factor: 多普勒因子;模拟多普勒效应的监听效果:0关闭, 1 高速物体的多普勒效应会比较明显的监听的到; Default Speak Mode: 设置扬声器模式;默认值为2(立体声, AudioSpeakModer); stereo立体声 System Sample Rate: (输出采样率); DSP Buffer Size: 调整DSP缓冲区大小优化延迟和性能;越大效果越好 Max Virutal/Real Voices Count: 同时播放的真实声音的数量;虚拟的声音最后会和其他的声音混合在一起,所以比真实的声音多。 Disable

彻底讲清楚ZooKeeper分布式锁的实现原理

≡放荡痞女 提交于 2020-01-10 15:27:16
一、写在前面 之前写过一篇文章(《 拜托,面试请不要再问我Redis分布式锁的实现原理 》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式锁的原理。 同理,我是直接基于比较常用的 Curator 这个开源框架,聊一下这个框架对ZooKeeper(以下简称zk)分布式锁的实现。 一般除了大公司是自行封装分布式锁框架之外,建议大家用这些开源框架封装好的分布式锁实现,这是一个比较快捷省事儿的方式。 二、ZooKeeper分布式锁机制 接下来我们一起来看看, 多客户端获取及释放zk分布式锁的整个流程及背后的原理。 首先大家看看下面的图,如果现在有两个客户端一起要争抢zk上的一把分布式锁,会是个什么场景? 如果大家对zk还不太了解的话,建议先自行百度一下,简单了解点基本概念,比如zk有哪些节点类型等等。 参见上图。zk里有一把锁,这个锁就是zk上的一个节点。然后呢,两个客户端都要来获取这个锁,具体是怎么来获取呢? 咱们就假设客户端A抢先一步,对zk发起了加分布式锁的请求,这个加锁请求是用到了zk中的一个特殊的概念,叫做 “临时顺序节点”。 简单来说,就是直接在"my_lock"这个锁节点下,创建一个顺序节点,这个顺序节点有zk内部自行维护的一个节点序号。 比如说,第一个客户端来搞一个顺序节点

plsql远程访问数据库 解决ora-12541:TNS:无监听程序

老子叫甜甜 提交于 2020-01-10 11:59:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天在windows server 2012上安装了一个oracle 11g的数据库,但是安装 完成以后发现在我的机器上访问数据库出现错误,ora-12541:TNS:无监听程序。 后来查询了很多资料,加上借鉴博客园师兄的博客,我知道了问题的所在,今天拿出来分享一下: 具体操作步骤如下: 1.下载plsql,安装. 2.下载Instant Client,点击下载,下载第一个basic就行了,下载完解压缩,以放到主win7 d盘根目录为例:d:\instantclient_11_2 3.在d:\instantclient_11_2新建tnsnames.ora,用记事本编辑. 4.到server 2012的oracle安装目录找到 …\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打开,比如数据库实例是orcl,找到如下代码,拷贝到本机d:\instantclient_11_2\tnsnames.ora里 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = server 2012 IP)(PORT = 1521)) (CONNECT_DATA = (SERVER =

SpringBoot中的 ApplicationEvent和Listener

∥☆過路亽.° 提交于 2020-01-08 21:06:09
SpringBoot中除了常用的Spring框架事件,如ContextRefreshedEvent,一个SpingApplication类还能发布一些额外的事件; 注意:事实上一些事件通常在ApplicationContenxt创建之前被启动,所以无法在一个头部标有@Bean的方法中注册监听器。但是可以通过 SpringApplication.addListener(ApplicationListener... listeners)`或者`SpringApplicationBuilder.listeners(ApplicationListener... listeners)` 方法注册 如果你想让监听器忽略其创建方式,实现自动注册,你可以通过添加一个/META-INF/spring.factories到你的项目classpath下,并通过使用org.springframework.context.ApplicationListener 键引用你的监听器,如下所示 org.springframework.context.ApplicationListener=com.example.project.MyListener 若有多个监听器,使用逗号分隔 SpringBoot提供 6个应用事件类,当启动你的SpringBoot应用时,Spring Event将按以下顺序传递 1

mqtt协议系统设计参考

蓝咒 提交于 2020-01-07 15:52:39
作者:极寒 链接:https://zhuanlan.zhihu.com/p/28525517 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 回顾自己的工作经历最遗憾的是没有用代码实现设计好的系统就匆匆离职了!写这篇文章主要目的是分享一下实现通信服务的思路,方便大家设计自己的通信服务,也希望通过分享实践知道设计中的不足。工作的公司是做电动汽车充电的可以说是一个很伟大的物联网项目,一个EVCS系统(Electric vehicle charging system)包括APP、云平台、充电桩、电动汽车等部分。在云平台众多的服务中通信服务是一个负责接入嵌入式网关和与后端业务服务相协调的中间件。今天主要根据自己的经历分享一下通信服务的实现细节,其中包括具体实践的也有针对系统缺陷做的一些思考。本文内容不局限于电动汽车充电系统只是以电动汽车充电系统为例,也可以作为基于mqtt协议系统的设计参考。 术语说明 嵌入式网关:它一般由嵌入式微处理器、外围硬件设备、嵌入 式操作系统以及用户的应用程序等四个部分组成。在本系统中负责继电器的开关以及与服务器的网络通信。 充电设备(充电桩):给电动汽车充电的设备通过充电枪与车连接,里面包含了一个嵌入式网关。 comm:一个需要我们实现的broker扩展程序,communication 的简称。 通信服务