- 博客(32)
- 资源 (7)
- 收藏
- 关注
原创 Spring WebSocket 像写http接口一样处理WebSocket消息(Stomp协议)
Spring WebSocket实现基于Stomp协议的消息接收
2025-03-13 17:36:40
431
原创 Nacos使用(三):Spring Cloud集成Nacos配置中心动态配置
上一篇教程介绍了Spring Boot集成Nacos配置中心,感兴趣的可以查看看本文需要对Spring Cloud有初步了解先上maven依赖pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:..
2022-03-25 17:46:40
1194
原创 Nacos使用(二):Spring Boot集成Nacos配置中心动态配置
使用Nacos之前需要先安装,网上有很多教程,这里略过。Nacos提供了类似于SpringCloud Config的配置中心功能,可以实现动态配置动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。Nacos官方也提供了样例程序,但是代码版本比较老,很多新版本特性都没有用到,本教程使用较新的版本,差..
2022-03-23 18:56:29
8397
原创 Nacos使用(一):什么是Nacos
Nacos 的关键特性包括: 服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO或HTTP&API查找和发现服务。 Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对于复杂的...
2022-03-23 18:27:23
383
原创 环信EaseIMKit隐藏EaseChatExtendMenu默认的控件
环信官方提供了EaseIMKit,集成了IM的页面,降低了开发工作量,官方也提供了丰富的页面定制接口,可以参考文档EaseIMKit 使用指南 [IM开发文档]底部扩展功能,官方也提供了添加自定义功能的方法,具体实现可以参考文档,但是没有提供删除某功能的接口,所以需要自己实现。首先看官方的页面结构图我们要做的就是调用EaseChatExtendMenu中的clear()方法清空所有的扩展功能,然后根据需要只展示部分功能,使用IChatExtendMenu.registerMenuItem
2022-03-02 15:23:20
376
原创 Hibernate获取执行的SQL语句
今天无意间刷到有人问Hibernate怎么获取到执行的SQL语句,下面所有人都回复说代码中取不到,只能去日志文件中读取,感觉太误导人了,其实Hibernate完全是可以取到执行的SQL想要获取sql,可以通过自定义EmptyInterceptor来实现,非常简单public class TestInterceptor extends EmptyInterceptor { private static final long serialVersionUID = -46054808349814.
2021-04-21 14:19:22
2087
原创 Java动态代理实战(三):dao接口无实现类且使用注解自动注册
本文基于前两篇文章扩展,看本文之前建议先看前两篇文章Java动态代理实战(一):在Spring中实现代理接口无实现类注入Java动态代理实战(二):dao接口无实现类且自动注册到Spring容器看了前两篇文章发现在将代理dao注册到spring容器时需要知道具体的接口,不能用在实际项目中真实项目肯定是希望像Mybaties一样,在应用入口处加上@MapperScan注解就自动扫描所有dao接口并注册到容器我们首先定义注解@MyDaoScan/** * 扫描dao,并自动创建.
2021-04-07 21:20:24
1178
原创 Java动态代理实战(二):dao接口无实现类且自动注册到Spring容器
接前一篇文章Java动态代理实战(一):在Spring中实现代理接口无实现类注入自动注册到spring容器代码//注意需要配置让Spring能扫描到此路径@Componentpublic class ProxyDaoRegister implements ApplicationContextAware, BeanDefinitionRegistryPostProcessor { @Override public void postProcessBeanFactory(Confi.
2021-04-07 21:04:49
982
原创 Java动态代理实战(一):在Spring中实现代理接口无实现类注入
需求自定义数据库公共操作的IBaseDao和实现类BaseDaoImpl,业务dao接口继承IBaseDao,由动态代理自动生成dao的实现动态代理利用反射机制在运行时创建代理类。核心是实现InvocationHandler接口代理实现类BaseDaoProxy/** * dao的动态代理类 * * @param <T> dao */public class BaseDaoProxy<T> implements InvocationHandler {
2021-04-07 20:52:53
1401
原创 Spring EL表达式解析——解析AOP注解中的EL表达式
需求:在切面逻辑中识别@Cache注解中的#name,并将#name识别为test3(String name, RegionPo po)方法中的name参数值public class TestServiceImpl{ @Cache("#name") @Override public void test3(String name, RegionPo po) { System.out.println("============正在执行===========");
2020-09-29 08:59:18
5497
16
原创 Hibernate5 ImplicitNamingStrategy与PhysicalNamingStrategy
Hibernate5中自定义实体类与数据库命名规则的方法相比之前版本有较大改变,在hibernate5之前的版本实现NamingStrategy就可以实现自定义规则,hibernate5改为通过ImplicitNamingStrategy与PhysicalNamingStrategy实现。关于ImplicitNamingStrategy与PhysicalNamingStrategy详细的解释可以看官方文档,也可以参考其它博文,这里不在详述,参考博文:Hibernate入门之命名策略(naming str
2020-09-04 15:44:51
2589
原创 Rocket MQ更优雅的实现消息发送与消息监听—基于Spring注解实现消息监听
如果项目使用Spring boot集成Rocket MQ可以使用RocketMQTemplate,代码看起来很简洁,但是如果项目只使用了spring,就要自己手写一堆代码去实现消息发送与消息监听下面就参考RocketMQTemplate自己实现一个基于注解的消息监听框架先看一下RocketMQTemplate是怎么实现注解方式注册消息监听的@RocketMQMessageListener( topic = "test_topic", //topic:和消费者发送的to
2020-05-12 17:34:18
19959
2
原创 Android 使用SlidingPaneLayout实现仿IOS滑动返回
android supportV4包提供了一个强大的Layout——SlidingPaneLayout,这个布局可以实现侧滑菜单,关于怎么使用这里就不再介绍了,搜一下就会有很多使用的例子,这里只介绍使用SlidingPaneLayout实现滑动返回。思路:1.将SlidingPaneLayout左侧view背景设置为透明;2.监听滑动事件,当左侧view完全展示时关闭当前Activit
2020-04-30 13:58:46
300
原创 Redis使用(二)—— GEO位置与查周边
看本文章的前提是已掌握Redis的基础操作,如插入、读取、删除数据等示例使用ShardedJedisPool操作,实际开发可以使用RedisTemplate目录:1.保存坐标2.查询距离3.查周边4.应用场景1.保存坐标ShardedJedis jedis = shardedJedisPool.getResource();//插入坐标 1.key:user...
2020-04-30 13:54:23
824
原创 java环境下搭建OpenCV环境
项目中需要使用OpenCV实现功能,同事功能需要提供java接口,网上找了一些教程,但是要么操作失败,要么需要配置系统环境变量,都不合适,所以自己看了一下,把搭建方法总结一下。教程基于Maven+Windows x64环境第一步Maven引入OpenCV的java实现库,文件比较大,耐心等一会<dependency> <groupId>org.op...
2019-10-30 20:53:12
1501
原创 树莓派遇见Android Things系列教程
树莓派遇见Android Things(一):Raspberry Pi 3B安装Android Things树莓派遇见Android Things(二):编写第一个程序树莓派遇见Android Things(三):解决中文乱码问题预告:树莓派遇见Android Things(四):控制GPIO
2017-12-27 17:09:12
2663
原创 树莓派遇见Android Things(三):解决中文乱码问题
树莓派遇见Android Things(一):Raspberry Pi 3B安装Android Things树莓派遇见Android Things(二):编写第一个程序树莓派遇见Android Things系列教程前两篇已经带着大家在树莓派上烧写了固件,并且编写了hello world程序,有的同学在自己尝试中可能已经发现,Android Things 不!能!显!示!中!文!别慌
2017-12-27 16:50:57
1736
原创 树莓派遇见Android Things(二):编写第一个程序
树莓派遇见Android Things(一):Raspberry Pi 3B安装Android Things上一篇教程介绍了如何在树莓派上安装Android Things,这一篇教程开始写第一个程序,不过看本教程的前提是接触过Android开发按照惯例,第一个是hello world1.新建一个普通的Android程序,最低兼容版本要7.0以下2.打开app的bui
2017-12-25 12:27:44
2350
原创 树莓派遇见Android Things(一):Raspberry Pi 3B安装Android Things
树莓派就不用多说了,看这篇教程之前你们应该就有了解了,我就不多说废话了。Android Things是Google推出的基于Android 7.0的物联网系统,对于那些想玩物联网硬件,但是又只会Android开发的同学来说,Android Things就很适合了,在树莓派上装上这个系统,控制GPIO就像Android一样简单了。废话不多说,进入正题需要的准备:1.Raspberry
2017-12-25 11:57:48
6444
1
原创 Shiro学习--解决修改权限后需要重启的问题
使用shiro可能会遇到修改了用户权限后,却没有生效,需要重启Tomcat才能生效的问题,在项目中这样显然是不合理的。这种情况是因为缓存的原因,很好解决,只需在每次登陆成功后使用以下代码清理一下缓存就可以了清理一下缓存就可以了,看代码clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());不过这种
2017-10-27 14:40:34
6730
3
原创 Android使用SlidingPaneLayout实现仿IOS滑动返回
android supportV4包提供了一个强大的Layout——SlidingPaneLayout,这个布局可以实现侧滑菜单,关于怎么使用这里就不再介绍了,搜一下就会有很多使用的例子,这里只介绍使用SlidingPaneLayout实现滑动返回。思路:1.将SlidingPaneLayout左侧view背景设置为透明;2.监听滑动事件,当左侧view完全展示时关闭当前Activit
2017-06-05 17:05:29
663
原创 Android 无限循环且支持自动滚动的ViewPager
无限循环思路:1. 添加最后一条数据到第一条,添加第一条数据到最后一条; 2.滚动到最后一页,自动跳到第二页(视觉上的第一页),滚动到第一页,自动跳转至倒数第二页(视觉上最后一页);3.初始设置滚动到第二页(视觉上的第一页);自动滚动思路:使用定时器自动向右滚动。具体实现public class LoopPagerAdapter extends PagerA
2017-06-05 16:42:22
1069
原创 shiro学习--从数据库获取动态权限
新项目集成了shiro,但是发现原生的只支持在配置文件配置权限,就像这样 /js/** = anon /css/** = anon /img/** = anon /fonts/** = anon /scripts/
2017-04-22 14:23:00
9928
2
原创 arduino-解决舵机与直流电机冲突问题
可能很多人在使用servo库控制舵机时与直流电机发生冲突,在调用Servo.attach(pin)方法之后,可能会有点机不转了,我们去官网看看关于servo库的介绍,The Servo library supports up to 12 motors on most Arduino boards and 48 on the Arduino Mega. On boards other tha
2017-03-22 09:36:31
14970
9
原创 Ehcache使用(一):初步使用Ehcache
Ehcache是一个很强大的轻量级框架,不依赖除了slf4j以外的任何包,这篇文章主要是了解一下ehcache的简单使用,对Ehcache做一个简单了解首先要了解缓存清除策略,官方文档给出的有 LRU - least recently used(最近最少使用) LFU - least frequently used(最不经常使用) FIFO - first in first out...
2016-08-04 16:36:39
14857
1
原创 Spring MVC使用之统一异常捕获
在使用spring mvc开发时,在Controller中一定会遇到各种异常,如果在每个可能出现异常的地方都对异常进行捕获,这样不仅工作量大不利于提高开发效率,还会对项目的维护产生负面影响,还好spring mvc支持对异常进行集中处理,下面用一个小例子来了解怎么使用由于我喜欢使用注解,不喜欢用配置文件,所以这个例子就是用注解实现,这样的好处是代码比较灵活,也比较整洁(个人观点)首
2016-07-09 11:06:45
3253
原创 使用strapdown.js解析markdown
在知道markdown之前一直觉得像csdn博客这种网站页面很高大上,比如文字格式、添加代码块等,也以为很难实现,后来才知道有markdown,这样实现这些就so easy,但是我这个人还是太懒了,不想自己写markdown翻译的代码,就用了strapdown.js这个库,下面说说具体的使用项目地址:http://strapdownjs.com/使用很简单,在页面中引入这个
2016-06-18 10:56:31
6313
原创 史上最简单的android图片自动轮播
最近项目用到图片轮播,于是上网看大神们写的demo,看过之后发现以前的各位大神写的都过于复杂,没有很好的利用android源码中已经封装好的函数,造成了不必要的麻烦,我感觉可以更加简单一些。 首先说说思路,肯定是要用到ViewPager这个类,因为功能太像了,相比之下只是多了一个自动轮播,其它的功能全部一样,用定时器实现page的自动轮播。 有了思路后开始看ViewPager的源码,根
2015-08-14 11:22:34
3180
原创 android自定义View之滑动开关SlideButton
android只有在3.0以上的sdk中才可以使用switch控件,该教程是自定义所有版本都可以使用的滑动开关view
2014-12-22 09:28:30
3908
Hibernate源码
2020-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人