- 博客(104)
- 资源 (16)
- 收藏
- 关注
原创 Maven settings.xml中配置浅析
最近遇到过不少这样那样的问题,曾经做过maven的分享,但是发现当时部分内容还是太想当然了,下面经过尝试后简单总结下:首先几个逻辑: pom>启用的profile>maven原有配置 mirror配置mirrorOf和id匹配优先 简单maven配置 一般大家的配置(略去无关私有仓库配置)都是这样的 <mirrors> <mirror> <id>nexus</id> <name&g
2021-08-03 15:35:09
1078
原创 Spring Boot中使用 @ConfigurationProperties 注解, @EnableConfigurationProperties
但Spring Boot提供了另一种方式 ,能够根据类型校验和管理application中的bean。 这里会介绍如何使用@ConfigurationProperties。继续使用mail做例子。配置放在mail.properties文件中。属性必须命名规范才能绑定成功。举例:1protocol and PROTOCOL will be bind to protocol field of a bean2smtp-auth , smtp_auth , smtpAuth will be bind to...
2021-05-19 16:28:10
461
1
转载 Spring Boot 之 spring.factories
1|0抛出一个问题在java spring cloud项目中,我们常常会在子模块中创建公共类库,作为驱动包。那么在另外一个子模块中,需要加载配置文件的时候,往往Spring Boot 自动扫描包的时候,只会扫描自己模块下的类。2|0抛出一个问题 首先抛出一个问题:如果想要被Spring容器管理的Bean的路径不再Spring Boot 的包扫描路径下,怎么办呢?也就是如何去加载第三方的Bean 呢? 有两种方式可以解决: 方法一、在Spring Boot App...
2021-04-02 18:21:47
394
翻译 深入springboot原理——动手封装一个starter
Spring Boot Starter 是在 SpringBoot 组件中被提出来的一种概念,stackoverflow 上面已经有人概括了这个 starter 是什么东西,想看完整的回答戳这里Starter POMs are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related
2021-04-02 18:16:09
888
原创 深入Spring Boot Starter原理——一步步分析springboot启动机制(starter机制)
Spring Boot Starter
2021-04-02 16:57:04
295
原创 分布式锁原理与实现
什么是分布式锁?实现分布式锁的三种方式在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图:上图可以看到,变量A存在
2021-03-17 16:20:03
279
原创 SpringBoot 多环境配置--常用两种方式
一、前言当我们正式开始工作生涯后,最先发现商业项目和我们自己写的项目的不同之一就是:怎么这么多配置文件啊!!就按照最普遍的:开发、测试、预发(仿真)和线上来说,一个项目就至少有四套配置了,那么我们到底要如何配置多环境呢?二、Multiple Application目前使用比较多的是配置多个application-{profile}.yml或者多个application-{profile}.properties文件的写法,一张图就能解释清楚了,如下图所示。首先配置不同环境的 ap...
2021-01-20 14:36:35
7457
原创 函数式接口
一、什么是函数式接口?(1)、只包含一个抽象方法的接口,称为函数式接口。(2)、你可以通过Lambda表达式来创建该接口的对象。(若Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。(3)、我们可以在任意函数式接口上使用@FunctionalInterface注解,这样做可以检查它是否是一个函数式接口,同时javadoc也会包含一条声明,说明这个接口是...
2019-08-23 15:41:57
216
原创 less 命令详解
less 命令详解less 与more命令类似,但可以通过翻页键查看上下页的内容-b<缓冲区大小> 设置缓冲区的大小-e 当文件显示结束后,自动离开-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件-g 只标志最后搜索的关键词-i 忽略搜索时的大小写-m 显示类似more命令的百分比-N 显示每行的行号-o<文件名> 将less 输出的内容在...
2019-01-08 16:37:29
4502
原创 mq的基本介绍和基本用法
一 、什么是MQ,有什么用 MQ 是message queue ,消息队列,也叫消息中间件,遵守JMS(java message service)规范的一种软件。(同时还有另一个叫AMQP的应用层协议,语言无关性不受产品 语言等限制,rabbitMQ支持这个 )是类似于数据库一样需要独立部署在服务器上的一种应用,提供接口给其他系统调用。主要用于各个系统之间通信的解耦。二、MQ是干嘛...
2018-12-05 20:50:01
12717
原创 Android Gradle和Gradle插件(Android Gradle plugin)区别
引言什么是Gradle?什么是Gradle插件(Android Gradle plugin)?build.gradle中依赖的classpath 'com.android.tools.build:gradle:2.1.2'和gradle-wrapper.properties中的distributionUrl=https://services.gradle.org/distribution...
2018-11-22 15:51:46
5921
1
原创 SpringBoot开发案例之配置静态资源文件路径
摘要: 前言 SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的访问是必不可少的,比如:image、js、css 等资源的访问。 默认静态资源路径 Spring Boot 对静态资源映射提供了默认配置,静态资源路径都是在classpath中: classpath:/..前言SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的...
2018-05-09 16:29:51
30826
1
转载 超简单,Spring boot 配置mybatis
spring boot 就是牛逼呀,任何东西只要关联到spring boot都是化繁为简。mybatis-spring-boot-starter官方说明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot其实就是myBatis看spring boot这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很...
2018-04-02 11:38:43
23391
转载 Maven远程仓库的各种配置
1.远程仓库的配置在平时的开发中,我们往往不会使用默认的中央仓库,默认的中央仓库访问的速度比较慢,访问的人或许很多,有时候也无法满足我们项目的需求,可能项目需要的某些构件中央仓库中是没有的,而在其他远程仓库中有,如JBoss Maven仓库。这时,可以在pom.xml中配置该仓库,代码如下: 1 <!-- 配置远程仓库 --> 2 <repositories&g...
2018-04-02 10:59:27
275
原创 Spring Boot 使用Redis
前言本篇介绍如何在Spring Boot中使用Redis。准备工作需要准备一下东西:一个Spring Boot项目本机安装好Redis服务器本篇目录如下:Spring Boot集成RedisRedis的三种加载配置方式使用Redis并进行测试使用Redis缓存SpringBoot集成Redis1.引入reids包spring-boot-starter-redis(springboot版本1.4版本...
2018-03-22 15:57:17
6594
原创 如何使用RedisTemplate访问Redis数据结构
Redis 数据结构简介Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:结构类型结构存储的值结构的读写能力String可以是字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作;对象和浮点数执行自增(incremen...
2018-02-26 13:46:09
371
原创 Maven下用MyBatis Generator生成文件
由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,mybatis-gennerator插件帮我们自动生成mybatis所需要的dao、bean、mapper xml文件。这里主要通过IDEA工具,来讲解实现;使用Maven命令用MyBatis Generator生成MyBatis的文件步骤如下:
2018-01-23 15:27:32
332
原创 SpringMVC @ResponseBody和@RequestBody使用
Springmvc进行json交互(1)请求json、输出json,要求请求的是json串,所以在前端页面中需要将请求的内容转成json,不太方便。(2)请求key/value、输出json。此方法比较常用。@ResponseBody用法作用:该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的H
2018-01-17 16:09:07
684
转载 Mybatis 加载 Mapper配置的四种方式
前言Mybatis 的Mapper 是指Mybatis 执行数据库操作的接口类以及方法,在非注解模式下,还包含与类对应的 xml 配置文件。第一种依据 Mapper 类 具体路径 配置 Mapper这种情况下,如果是非注解模式的话xml配置文件必须和这个类在同一级目录,且与Mapper类同名[html] view plain copy
2018-01-16 16:41:06
13510
转载 Spring mvc 通过@ResponseBody注解返回数据
@ResponseBody作用: 该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。使用时机: 返回的数据不是html标签的页面,而是其他某
2018-01-16 14:48:35
19999
2
原创 SpringMVC的返回值类型
Springmvc 支持如下的返回方式:一种是返回页面的数据,另外一种是通过@ResponseBody注解返回的数据不是html标签的页面,而是其他某种格式的数据(如json、xml等)。本文主要讲返回的是页面数据类型。下一遍会讲@ResponseBody注解返回的数据ModelAndViewModelModelMapMapViewStrin
2018-01-16 14:22:56
1191
原创 MyBatis之传入参数parameterType
在MyBatis的select、insert、update、delete这些元素中都提到了parameterType这个属性。MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值复杂数据类型:包含JAVA实体类、Map。通过#{属性
2017-12-29 17:20:46
264
转载 Spring加载properties文件的两种方式
在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便。在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式。下面分别讨论下这两种方式。1. 通过xml
2017-12-29 14:23:13
1770
转载 详解Android开发中常用的 DPI / DP / SP
轻松理解Android开发单位DP ,让设计与开发高度匹配,整合了网上各大资料汇总一个通俗易懂的。一直困扰设计师多年的Android 单位 dp设计这么多年了,相信很多设计师,一直被DP搞得晕头转向的,因为我们设计常用单位是PX ,设计的时候我们用这个单位,但是开发人员则用dp,如何保证设计的产品效果图,文字能让开发人员,准确还原,这里我们就不得不提spAn
2017-01-13 13:27:44
3955
原创 Android 状态栏设置
看上图,Android 4.4之前,即使我们打开手机app,我们还总是能看到系统顶部那条黑乎乎的通知栏,这样会使得app稍显突兀。于是Android 4.4开始,便引入了Translucent System Bar的系特性,用于弥补系统通知栏突兀之处。(估计也是向ios学习,因为ios一大早就有这个特性)。可以在styles配置values-v19/style.xmlstyle
2017-01-10 17:46:56
2776
原创 REST 架构该怎么生动地理解?
REST 架构该怎么生动地理解?@Ivony 老师的一句话概括很精辟:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。RESTFUL是一种设计风格--- 简洁版 ---0. REST不是"rest"这个单词,而是几个单词缩写。但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);1. R
2016-12-05 09:52:17
729
翻译 蘑菇街 Team talk android IM 框架
Android-IM架构设计作者:蘑菇小侠客 时间:June 6, 2014 分类:mogu.im###1. 架构总览###2. 模块介绍####2.1 协议封装与任务流程#####1) 协议与任务的封装 a. 协议有协议头(协议头因为格式相同,被抽象出来)和协议体组成,协议有两类:请求协议(request)和回复协议(response); b
2016-09-22 11:53:54
843
翻译 [Android Studio] *.jar 与 *.aar 的生成与*.aar,jar,第三方库项目导入项目方法
主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法。在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。分别存储位置:*.jar:库/build/intermediates/bundles/debug(release)/classes.jar*.aar:库/build/outputs/a
2016-05-26 17:01:47
7204
原创 【Android】缩略图Thumbnails
在Android,多媒体文件(视频和图片)都是有缩略图的,在很多应用中,我们需要获取这些缩略图。比如最近在做一个类似相册的应用,需要扫描相册里面的图片,然后获取其缩略图,使用GridView去展示缩略图,当点击之后,我们需要获取其原始图,所以相关的需求如下:1)获取缩略图(一个问题是:是否所有的图片以及视频都有缩略图?);2)将缩略图和原始图关联起来; 关于1):现在采用的方式
2014-07-08 17:25:13
1640
原创 android 手机内存SD卡和cpu等信息的获取
一、内存(ram): android的总内存大小信息存放在系统的/proc/meminfo文件里面,可以通过读取这个文件来获取这些信息: Java代码 1.public void getTotalMemory() { 2. String str1 = "/proc/meminfo"; 3. String str2=""; 4.
2014-06-04 10:18:04
1131
原创 Android ActivityGroup TabActivity Back键的处理
在使用ActivityGroup时,可以发现,当我们在每个子Activity中覆写了onBackPressed()方法以期望处理back键在不同tab之间的操作后,实际应用中按下back之后并不会调用子Activity中的onBackPressed()而是直接退出程序,实际上按下back之后程序调用了ActivityGroup Activity中的onBackPressed(),所以我们应该在Ac
2014-01-09 10:24:26
1027
原创 Android(java)的线程池:ExecutorService和Executors简单介绍
ExecutorService是线程池的一个服务,可以随时关闭线程池,是继承Executor的。Executors是个工厂类,专门创建各种线程池介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?
2014-01-06 16:03:55
1970
转载 百度推送 集成实例
选择推送平台时,根据需求,比较了极光推送和百度推送,最后决定选择百度,心里觉得,百度相对硕大一些。从小白开始,step by step1. 注册百度账号。2. 快速创建应用,先体验一把推送的感觉在新版的管理控制平台,点击管理控制平台,创建应用,渠道那个什么的,不用管,创建成功后,会产生应用相关的信息。有了API key 这个玩意,推送第一步已经完成了。看这个界面
2014-01-05 00:07:43
1784
原创 Android 应用开发 之使用LruCache和DiskLruCache来在内存和SD卡中缓存图片
http://blog.youkuaiyun.com/carrey1989/article/details/12152651
2013-11-14 01:39:32
1359
转载 Android中自定义滑屏实现----触摸滑屏以及Scroller类详解
博客原文 http://blog.youkuaiyun.com/qinjuning前言: 虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小 Demo还是just so so的。 友情提示: 在继续往下面读之前,希望您对以下知识点有一定程度掌握,否则,继续看下去对您意
2013-08-30 15:22:12
941
转载 Android服务之Service(其二)关于AIDL进程间通信
上一节中我们讲解了本地Service,这一节主要是讲解远程Service,这里涉及到了AIDL。好吧,老规矩,先来点基础知识:一.基础知识AIDL的作用 在Android平台,每个应用程序App都运行在自己的进程空间。通常一 个进程不能访问另一个进程的内存空间(一个应用不能访问另一个应用),如果想沟通,需要将对象分解成操作系统可以理解的基本单元,And
2013-06-08 14:49:24
707
原创 listview的选中项背景高亮
我在工作中发现:触碰模式下的listview项无法被选中,所谓选中,意思是点击选中该项后,背景长期高亮。在模拟器上测试时,可以使用鼠标滑轮滚动选中,这会调用onItemSelected()方法,在这里可以设置选中项高亮。 在真机上,由于没有滑轮,只能用手指点击选中,但是点击时,不会有选中后高亮的效果(注意:选中后高亮不是指点击选中那一下高亮,而是点击后长期高亮)。 或许你会想到使用sel
2013-04-23 14:57:35
1671
原创 GestureDetector.OnGestureListener 详解(转)
感谢android中国开发者的众多先驱,本文主要内容来自于总结,一小部分是自己的体会。主要参考文章为: http://www.williamhua.com/2009/04/23/android-touchscreen-gesture-recogniton/http://goro.iteye.com/blog/402163 Android Touch Scre
2013-04-15 16:27:16
658
转载 Android之发送与接收JSON数据
出处: http://blog.youkuaiyun.com/weidi1989/article/details/8560197客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式;url带参数的写法:url+/?r=m/calendar/contact_list&uid=3&&subscriptionslist[pageindex]=1
2013-03-15 14:20:45
1402
原创 MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序
首先,这篇文章仅仅针对于由于触摸(Touch)而触发的事件。Android的事件:onClick, onScroll, onFling等等,都是由许多个Touch组成的。其中Touch的第一个状态肯定是ACTION_DOWN, 表示按下了屏幕。之后,touch将会有后续事件,可能是:ACTION_MOVE //表示为移动手势ACTION_UP //表示为离开屏幕AC
2012-12-05 22:42:27
869
高仿陌陌客户端 实现了陌陌的95%以上的功能
2013-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人