继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用Java常见的应用

Java3y
关注TA
已关注
手记 297
粉丝 1.5万
获赞 6488

tags: Java基础


Java定时任务调度
为什么要使用定时任务调度工具?

在最近的开发中,想开发一个“个人备忘录”的功能,实际上就是用户在指定某个时间点后,就在那个时间点发送邮件提醒用户去做xxx事。

既然是这样的一个功能,我就想到了定时任务调度...

之前跟着视频做的项目也用到了定时任务调度工具:Quartz。当时记录的博文在这纳税服务系统章节

显然的,只是简单的使用了一下Quartz,并不能完成我所说的功能。后来我又记得在慕课网上有相关的Quartz教程。

于是我就去学习了一番,视频教程:https://www.imooc.com/learn/841https://www.imooc.com/learn/846

学习记录

把慕课网的视频也都看完了,现在做一个学习的记录....

Timer

首先,得知道:为什么有JDK的Timer定时任务调度工具,还需要用到Quartz??

  • Timer仅有一个线程来进行调度我们的任务,对于并发性而言,它是无法处理的!
  • 如果使用Timer时抛出了异常,那么我们设置的任务将全部作废

当然了, 如果仅仅是简单使用任务调度工具、并没有什么并发性的话,那么Timer是可以完成任务的。

在视频中还介绍了Timer的一些API说明:

  • schedule和scheduleAtFirstRate的对比:



可以总结出:scheduleAtFirstRate是有一定的并发性而言的(相对来说)

Quartz

Quartz的三大要素:

  • 任务
  • 触发器
  • 调度器

针对三大要素相关API说明:

任务:需要做怎么样的事情

  • 可以通过Map来传递所需要的参数!

Trigger:该任务何时被触发

  • 简单的触发器
  • 复杂的触发器

Schedule:

如果对Cron表达式不是特别清楚,还可以在网上生成!

Quartz与Sprping整合:

Spirng环境下使用Quartz时读取的配置文件:

源码:https://img.mukewang.com/down/5950cae200010ca100000000.rar

Java生成二维码

今天在慕课网上看到了Java生成二维码的教程:https://www.imooc.com/learn/531

在日常生活中二维码就用得比较多了,实际上对他是不怎么了解的。通过这个教程还是能够学到不少的东西的。

二维码是由一维码发展而来的,最典型的一维码就是我们平时去商场中看到商品包装的条形码,这就是典型的一维码。

而二维码的数据存储量信息又比一维码大得多,并且有很好的纠正的功能(即使二维码中有部分的信息不完整,还是能够解析得到二维码的数据)

该课程主要讲解了生成二维码的方式有三种:

  • zxing API
  • qrcode
  • juqeryqrcode

当然了,肯定是jquery的方式来生成二维码是比较简单的。但是如果想定制二维码的样式、形状的话。那么使用Java的方式来生成是比较灵活的。(比如:在二维码中间放上logo)

下载生成二维码的资源jar包:https://img.mukewang.com/down/5799a5440001040300000000.rar

使用Jquery的方式生成二维码的博文:http://suflow.iteye.com/blog/1687396

使用zxing生成二维码的博客:http://guopengli.cn/index.php/2017/10/05/53.html

学了课程才知道原来二维码能够干很多东西(二维码能够直接跳转到页面上、扫描二维码下载应用、扫描二维码能够解析生名片):https://zh.wikipedia.org/wiki/VCard

java生成等比例缩略图 、水印

有的时候我们在上传图片时,不希望展示的图片大小和上传的图片大小相同时,我们就需要把图片进行压缩生一定的像素了。

还有就是为图片生成水印..

生成水印源码(主要就是通过几个工具类来进行操作):

https://github.com/HongZhilin/watermark

生成缩略图博文和源码:

博文:http://blog.csdn.net/qq_31179919/article/details/53336293

源码:https://github.com/Amant-huangqi/Thumbnails

微信授权登陆基础知识

昨天在慕课网看见了微信授权登陆的教程,之前就想在自己的应用中加入微信登陆这么一个小功能的了。刚好看见了教程,于是就进去学了一会。

教程地址:https://www.imooc.com/learn/713

微信授权分为两种:

  • 微信公众平台
  • 微信开放平台

这两种有什么区别呢????

  • 微信开放平台多用于网站PC端,很不好的是,这个是需要企业认证的。并且需要钱的【因此,我的javaWeb应用就不能添加微信登陆这个功能了...】
  • 微信公众平台是使用微信公众号的基础上进行开发的,只要有一个已认证的公众号就行了。一般用于手机登陆。
微信授权登陆两种实现

微信授权登陆的方式分为两种:

  • 1.直接使用微信所提供的数据就作为账号
  • 2.微信登陆后与已有的账户体系进行绑定

显然,是第一种比较方便,是小型应用完全就可以使用第一种。而如果我们的应用已有自己的账户体系了,为了更好地管理。应该将微信授权登陆的信息与应用的账户体系来进行关联起来。

实现起来也特别方便,在微信授权登陆以后,使用微信的API获取得到openId。用openId去数据库查询是否与自己应用的账户体系已绑定了,如果没有绑定就回到登陆页面让用户进行绑定。如果已绑定了,那么就可以直接登陆了。

开发时值得注意的地方

1、组装授权地址的时候需要注意参数的顺序和api中的是否保持一致

2、回调地址必须是公网能访问到的

3、回调地址域名的设置【这个是在微信网页上指定的】

微信公众号与微信开放平台关联

微信公众号登陆时获取得到的openId和微信开放平台得到的openId,他俩是不一致的!!!

也就是说:如果使用了微信公众号登陆某个应用,并与该应用的账户体系进行了绑定。使用微信公众平台登陆,还是会提示需要绑定!因为在之前是依靠openId来进行判断该用户是否与应用账户体系进行了绑定。

想要微信公众号与微信开放平台关联起来,那么就要使用unid来进行操作了。具体的还是查看视频呗。这里就不赘述了。

要用到的时候再回来专研吧...现在知道有这样的功能就好了

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP