自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

amoslm的博客

个人备份使用

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 JAVA 泛型总结

什么是泛型(1) 背景JAVA推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常。(2)泛型的概念Java泛型(generics) 是JDK5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数。(3)泛型的好处类型安全

2022-03-24 09:53:48 200

原创 12、微信授权登录和拉取用户信息

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842注:在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头

2018-01-04 16:01:26 1983

原创 11、微信授权登录和拉取用户信息

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842注:在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头

2018-01-04 15:51:04 1393

原创 10、发送模板消息

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。事件推送 在模版消息发送任务完成后,微信服务器会将是否送达成功作为通知,发送到开发者中心中填

2018-01-04 13:34:35 3311

原创 09、微信客服消息

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1458557405 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140547当用户和公众号产生特定动作的交互时(具体动作列表请见下方说明),微信将会把消息数据推送给开发者,开发者可以在一段时间内(目前修改为48小时

2018-01-04 12:58:26 889

原创 08、长链接转短链接接口

长链接转短链接接口将一条长链接转成短链接。主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。 /** * 长链转短链 */ @GetMapping("/longToShort") public String longToShort() {

2018-01-03 22:18:03 952

原创 07、接收事件推送

注:微信推送信息没啥好说的,用户可以根据推送的消息,进行业务的统计汇总、分析,做相关业务的操作https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140454 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。其中,某些事件推送

2018-01-03 21:52:54 364

原创 06、生成带参数的二维码

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1443433542 生成带参数的二维码为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。目前有2种类型的二维码:1、临时二维码,是有过期时间的,最长可以设置为在二维码

2018-01-03 21:44:52 379

原创 05、接收普通消息和被动回复用户消息

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。请注意:1、关于重试的消息排重,推荐使用msgid排重。2、微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。假如服务器无法保证在五秒内处理并回复,可以直

2018-01-03 20:51:29 1096

原创 04、自定义菜单

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013 * 注意 由于开启的微信服务器配置,微信公众号后台设置的菜单以及自动回复都将失效,此时需要使用代码进行自定义菜单。 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。1、自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级

2018-01-03 14:27:20 272

原创 03、获取access_token

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183 获取access_token access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存(存储进数据库或者缓存中)。access_token的存储至少要保留512个字符空间。access_tok

2018-01-03 14:15:30 736

原创 02、微信服务器接入

注意事项: 当服务器接入开启后,微信公众号后台设置的公众号菜单和自动回复将会失效,可以使用第三方授权的进行管理(如:微软小冰等) 链接 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319接入微信公众平台开发,开发者需要按照如下步骤完成: 1、填写服务器配置 2、验证服务器地址的有效性 3、依据接口文档实现

2018-01-03 14:05:44 478

原创 01、本地微信服务器测试环境

微信测试环境主要是需要一个外网能访问的地址。 可以使用内外穿透工具,这样可以直接在本地测试自己的代码,方便开发: 花生壳(6块钱): https://hsk.oray.com/ Ngrok(免费): https://www.ngrok.cc/

2018-01-03 13:40:54 249

转载 springMVC dubbo注解无效,service层返回空指针

出现空指针的原因是:spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好, 如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。 将springMVC的配置与dubbo配置写在一个配置文件中,注意顺序<mvc:annotatio

2017-09-20 14:18:59 2242

转载 java.security.InvalidKeyException: Illegal key size

今天遇到一个奇怪的问题。自己做的加签验签功能已经没有问题了,本地测试通过,同事放到服务器上测试也没问题。然后我将包放到自己搭建的环境上,会报这样一个错误:java.security.InvalidKeyException: Illegal key size然后就各种百度。原来是jdk不兼容的问题,我本地以及同事的测试环境都是jdk1.7,而我搭建的环境用的是jdk1.8解决方案如下:处理办法: 在官

2017-08-26 19:33:26 220

转载 Apache POI 合并单元格

合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress cellRangeAddress );CellRangeAddress 对象的构造方法需要传入合并单元格的首行、最后一行、首列、最后一列。 CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);怎样把数据写入合并后的单元格中列表内

2017-08-26 19:20:35 1315

转载 log4j.properties 详解与配置步骤

1.输出级别的种类ERROR、WARN、INFO、DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失INFO 为一般要显示的信息,比如登录登出DEBUG 为程序的调试信息2.配置日志信息输出目的地log4j.appender.appenderName = fully.qualified.name.of.appender.class1.org.apache

2017-08-26 19:05:38 233

转载 maven打包时跳过测试

方法一<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version>

2017-08-26 18:52:16 167

转载 BigDecimal 加减乘除

BigDecimal bignum1 = new BigDecimal("10"); BigDecimal bignum2 = new BigDecimal("5"); BigDecimal bignum3 = null; //加法 bignum3 = bignum1.add(bignum2); System.out.println("和 是:" + bignum3);

2017-08-26 18:49:06 194

转载 java下载文件

Java文件下载的几种方式public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。

2017-08-26 18:25:39 165

转载 Linux(Ubuntu)下MySQL的安装与配置

在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕。今天,需要在Linux下用Qt连接MySQL。遂安装配置了一把。1)首先检查系统中是否已经安装了MySQL在终端里面输入 sudo netstat -tap | grep mysql若没有反映,没有显示已安装结果,则没有安装。若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL.在终端输入

2017-08-13 16:21:14 297

转载 MIME 类型大全

MIME 类型大全MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。下面列出常用的文件对应的MIME类型:Mime-Types(mime类型) Dateiendung(扩展名) Bedeutung application/msexcel .xls

2017-08-13 16:15:09 587

原创 本地navicat连接远程数据10038

错误信息: 2003-Can’t connect to MySQL server on ‘xxxxx’(10038)1.在windows下,cmd 输入telnet 192.168.xx.xxx 3306 其中ip是虚拟机的ip.如果连接失败2.在虚拟机下输入netstat -anp| grep 3306 看结果,如果结果中3306前面的ip不是0.0.0.0要修改 vi /etc/m

2017-08-13 16:14:03 809

原创 虚拟机下安装ubuntu后root密码设置

问题描述: 在虚拟机下安装了ubuntu中要输入用户名,一般情况下大家都会输入一个自己的网名或绰号之类的,密码也在这时设置过了。但是当安装成功之后,使用命令root,然后输入刚才设置的密码,发现密码错误;原因 在ubuntu系统下,为了安全起见,在安装过程中,系统屏蔽了用户设置root用户。导致很多用户在使用过程中不知道root密码到底是什么。解决方法:如下。先解除root锁定,为root用户设

2017-08-13 16:13:02 807 1

原创 spring data jpa 分页查询

/** * 项目分页 不带条件 * @author lm * @createTime 2017年8月5日12:51:13 * @param pageable * @return */ @Transactional(Transactional.TxType.NOT_SUPPORTED) public Page<Project

2017-08-07 19:01:24 227

原创 spring data jpa 表不关联多表查询

直接上代码import com.supergk.core.project.bean.ProjectUser;import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import org.springframework.data.jpa.repository.JpaRe

2017-08-07 18:59:01 6931 5

转载 Spring Boot的启动器Starter详解

1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。2)spring-boot-starter-actuator 帮助监控和管理应用。3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。4)spring-boo

2017-08-07 11:06:17 226

转载 springboot导入xml

在App.java类无法扫描的包下编写HelloService;package org.kfit.service;import org.springframework.stereotype.Service;@Servicepublicclass HelloService { /** * 启动的时候观察控制台是否打印此信息; */ public HelloServi

2017-08-07 11:05:26 527

转载 springboot改变自动扫描的包

spring boot里,扫描的class对象是用注解@ComponentScan(未指定的情况下默认是main函数所在package)来指定的 新建两个新包 我们在项目中新建两个包cn.kfit ; org.kfit ; 新建两个测试类package cn.kfit;import org.springframework.boot.CommandLineRunner;@Configuratio

2017-08-07 11:04:47 17041

原创 Spring Boot使用自定义的properties

继续在application.properties中添加wisely2.name=wyf2 wisely2.gender=male2 定义配置类 @ConfigurationProperties(prefix = "wisely2") public class Wisely2Settings { private String name; private St

2017-08-07 11:03:55 297

转载 springboot启动加载数据

实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。//@Order 注解来定义执行顺序。import org.springframework.boot.CommandLineRunner;import org.springframewor

2017-08-07 11:03:13 3420

转载 springboot绑定属性

实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。//@Order 注解来定义执行顺序。import org.springframework.boot.CommandLineRunner;import org.springframewor

2017-08-06 14:20:24 672

转载 springboot添加拦截器

HandlerInterceptor 的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前以及request全部结束之后。我们不能通过拦截器修改request内容,但是可以通过抛出异常(或者返回false)来暂停request的执行。配置拦截器,继承基础类WebMvcConfigurerAdapter ,我们只需要重写 addInterc

2017-08-06 14:11:18 271

转载 springboot注册servlet,Filter,Listener

注解注册 SpringBootApplication 上使用@ServletComponentScan注解后,Servlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter、@WebListener 注解自动注册,无需其他代码。package com.kfit.servlet;import java.io.IOException;import jav

2017-08-06 13:44:52 249

转载 Spring Boot普通类调用bean

在非web项目获取一般为ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");ac.getBean("beanId");编写工具类:在Spring Boot可以扫描的包下import org.springframework.beans.BeansException;impor

2017-08-06 13:29:13 261

转载 springboot配置druid

Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSourcepom.xml添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.18</vers

2017-08-06 13:04:20 215

转载 springboot处理静态资源文件

1、默认资源配置 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性 其中默认配置的 /** 映射到 /static (或/public、/resources、/META-INF/resources) 其中默认配置的 /webjars/** 映射到 classpath:/META-INF/resources/webja

2017-08-06 12:55:14 760

转载 springboot链接数据库

//pom.xml<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId>

2017-08-06 12:03:02 1567

原创 springboot统一异常处理器

新建一个类 在class注解上@ControllerAdvice, 在方法上注解上@ExceptionHandler(value = Exception.class)import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.Exce

2017-08-06 11:35:06 377

转载 springboot的helloworld

//pom.xml//在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,<parent> <groupId>org.springframework.boot</groupId

2017-08-06 11:09:16 234

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除